簡體   English   中英

在Polymer dom-if中使用全局變量

[英]Use a global variable in Polymer dom-if

我正在為Polymer創建一個自定義模塊。 我需要創建一個在定義模板時可以訪問的全局變量。 就像是:

<template is="dom-if" if="[[_check(myGlobalVar.foo)]]">

還可以從模塊內部直接訪問全局變量(請參見_anotherFunction)。 JS文件如下所示:

Polymer({
    is: 'my-module',

    _check(f) {
        return f == 'foobar'
    },

    _anotherFunction() {
        console.log(myGlobalVar)
    }
})

此外,應從其他文件中的其他模塊訪問myGlobalVar。 最好的創建方式是什么?

您可以通過兩種方式實現這一目標。

  1. 有一個可以容納所有全局變量並在使用任何地方都提供其數據的相同實例的組件。 您可以使用鏈接以及工作示例找到更好的解釋

  2. 如果您有許多需要全局訪問的數據,那么最好的選擇是將store與聚合物redux一起使用。

為此有一個特定的聚合物元素。

iron-meta是可用於在DOM樹之間共享信息的通用元素。

https://www.webcomponents.org/element/@polymer/iron-meta

如果值已更改,則元素將觸發value-changed的值,因此您可能需要為其設置值。


但是,我們在公司中不使用它,而只是將值存儲在內存中,然后在每次設置值時發送一個事件。 還為每個需要偵聽更新的元素添加一個偵聽器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM