聚合物2定义全局变量

时间:2017-10-25 07:44:04

标签: javascript polymer polymer-2.x

我最近开始使用Polymer 2.0,到目前为止我爱上了它。 我习惯将Angular与typescript结合使用,我喜欢定义全局变量是多么容易。

通缉结果: 假设我在登录页面中有一个名为“Username”的变量。 var用户名当前是“访客”,所以在我的欢迎页面中,我有消息“Hello Guest!”。登录页面中的用户名更改为来宾=>不-A-客人 欢迎页面现在说:你好,不是客人!“。

有没有办法在不传递变量的情况下这样做 ?因为每次我想使用username属性,我现在必须传递上面的用户名。 (因此,如果我需要子组件子项的子项中的用户名,我现在必须将用户名传递给所有父项)。现在,这是关于用户的,所以在这种情况下,localstorage / sessionstorage会没问题,但这只是一个例子。我想将全局定义用于其他东西,并将其保存在localstorage中并不理想。

我发现了很多聚合物1解决方案,但我很乐意将我的应用程序用于完整的Polymer 2.0。

非常感谢!

3 个答案:

答案 0 :(得分:2)

我想了一个webcomponent myself。 用法:

// Login component
// Define global variable
<brum-global-var key="username" value="{{username}}"></global-variable>

// welcome-page 
// Use global variable
<brum-global-var key="username" value="{{username}}" readonly></global-variable>

答案 1 :(得分:1)

一种选择是使用mixin类并将其扩展到您需要的任何组件中。阅读更多here

答案 2 :(得分:0)

可以使用iron-meta元素来完成您创建的内容。