Yes, <iron-meta>
确实支持绑定到变量,但可能不是您想象的那样。
例子:http://plnkr.co/edit/QdNepDrg9b3eCTWF6oRO?p=preview http://plnkr.co/edit/QdNepDrg9b3eCTWF6oRO?p=preview
我在这里查看了你的代码,here https://stackoverflow.com/questions/31282947/polymer-1-0-data-binding-variable-to-iron-meta-element-value-attribute, and here https://github.com/veronicawwashington/polymer-sandbox/blob/master/app/elements/my-auth-toolbar/my-auth-toolbar.html但我不完全清楚你的期望是什么。希望我附上的复制品能有所启发。我看到你已经声明绑定<iron-meta id="meta" key="route" xvalue="foo-bar" value="{{route}}"></iron-meta>
这很好 - 当route
变化,铁元的key="route"
将相应更新。
但是,请注意,在 Polymer 1.0 中,<iron-meta>
本质上是一个从父级到子级的单向绑定从某种意义上说,你set通过绑定到属性动态地生成元键值;但为了get这个值,你必须通过iron-meta强制获得它byKey()
方法。
<iron-meta>
只是一个简单的单态模式没有内置路径通知机制的实现。这意味着价值变化不会向上传播。因此,做类似的事情
<!-- this does not work like the way you think -->
<iron-meta id="meta" key="foo" value="{{bar}}">
为了get的价值foo
, or listen更改为foo
,不起作用。这表现得更像是setter,您可以在其中设置值foo
基于您的数据绑定属性bar
.
根据我的收集,您似乎正在尝试实现某种全局变量功能。单态实现过去可以在 Polymer 0.5 中运行,但不能在 1.0 中运行。不幸的是,在谷歌认可“最佳实践”模式之前,迄今为止的建议对我来说似乎有点投机。你可能会发现这个(Polymer 1.0 全局变量 https://stackoverflow.com/questions/30849816/polymer-1-0-global-variables)有帮助。