Polymer 1.0: 支持绑定到动态变量吗?

2024-02-28

我可以得到我的<iron-meta>使用静态值时实例可以正常工作。但是当我将值绑定到动态变量时(使用{{}}) it <iron-meta>不再按预期运行。

Does <iron-meta>支持将其值绑定到动态变量吗?

<iron-meta id="meta" key="info" value="foo/bar"></iron-meta> // works
<iron-meta id="meta" key="info" value="{{str}}"></iron-meta> // fails
Previous work

这个问题是一个细化的问题这个问题 https://stackoverflow.com/questions/31282947/polymer-1-0-data-binding-variable-to-iron-meta-element-value-attribute为了澄清导致问题的唯一原因是从静态字符串值更改为动态字符串值绑定。我收到了很多其他建议,这些建议与从静态到动态的变化无关,所以我认为最好重写这个问题来澄清这一点。但如果有帮助的话,整个代码上下文都包含在链接中。

Alternative solutions

最近有一些关于使用的讨论<iron-localstorage>。也许这是动态绑定本质上创建全局变量的最佳方法?


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)有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Polymer 1.0: 支持绑定到动态变量吗? 的相关文章

随机推荐