Polymer 2 定义全局变量
Polymer 2 define global variables
我最近开始使用 Polymer 2.0,到目前为止我已经爱上了它。
我习惯了 Angular 结合打字稿,我喜欢定义全局变量是多么容易。
想要的结果:
假设我在登录页面中有一个名为:"Username" 的变量。
var 用户名当前是 "Guest",所以在我的欢迎页面中我有消息 "Hello Guest!"。登录页面中的用户名从 guest => not-a-guest 更改
欢迎页面现在显示:Hello not-a-guest!"。
有没有办法不用像这样传递变量
?因为每次我想使用用户名 属性,我现在必须像上面那样传递用户名。 (因此,如果我需要子组件的子组件的子组件中的用户名,我现在还必须将用户名传递给所有父组件)。现在当然这是关于用户的,所以在这种情况下,localstorage/sessionstorage 就可以了,但这只是一个例子。我想为其他东西使用全局定义,将其保存在本地存储中并不理想。
我找到了很多 Polymer 1 解决方案,但我希望我的应用程序包含完整的 Polymer 2.0。
非常感谢!
一个选择是使用 mixin class 并将其扩展到您需要的任何组件中。阅读更多 here.
我想出了一个 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>
有一个 iron-meta
元素可用于执行您创建的内容。
我最近开始使用 Polymer 2.0,到目前为止我已经爱上了它。 我习惯了 Angular 结合打字稿,我喜欢定义全局变量是多么容易。
想要的结果: 假设我在登录页面中有一个名为:"Username" 的变量。 var 用户名当前是 "Guest",所以在我的欢迎页面中我有消息 "Hello Guest!"。登录页面中的用户名从 guest => not-a-guest 更改 欢迎页面现在显示:Hello not-a-guest!"。
有没有办法不用像这样传递变量 ?因为每次我想使用用户名 属性,我现在必须像上面那样传递用户名。 (因此,如果我需要子组件的子组件的子组件中的用户名,我现在还必须将用户名传递给所有父组件)。现在当然这是关于用户的,所以在这种情况下,localstorage/sessionstorage 就可以了,但这只是一个例子。我想为其他东西使用全局定义,将其保存在本地存储中并不理想。
我找到了很多 Polymer 1 解决方案,但我希望我的应用程序包含完整的 Polymer 2.0。
非常感谢!
一个选择是使用 mixin class 并将其扩展到您需要的任何组件中。阅读更多 here.
我想出了一个 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>
有一个 iron-meta
元素可用于执行您创建的内容。