Mow*_*zer 7 polymer polymer-1.0
<iron-meta>使用静态值时,我可以让我的实例正常工作.但是当我将值绑定到动态变量(使用{{}})时,它<iron-meta>不再按预期运行.
是否<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
Run Code Online (Sandbox Code Playgroud)
之前的工作
这个问题是对这个问题的改进,以澄清导致问题的唯一原因是从静态字符串值到动态字符串值绑定的变化.我得到了很多其他建议,这与从静态到动态的变化无关,所以我认为最好重写一下这个问题来澄清这一点.但是如果有帮助的话,整个代码上下文都包含在那里的链接中.
替代方案最近有一些关于使用的喋喋不休<iron-localstorage>.也许这是动态绑定基本上创建全局变量的最佳方式?
zer*_*evx 11
是的,<iron-meta>确实支持绑定到变量,但可能不是你想象的那样.
示例:http://plnkr.co/edit/QdNepDrg9b3eCTWF6oRO?p = preview
我在这里,这里和这里查看了你的代码,但我并不完全清楚你的期望是什么.希望我附属的复制者可能会有所启发.我看到你已经声明性地绑定<iron-meta id="meta" key="route" xvalue="foo-bar" value="{{route}}"></iron-meta>哪个很好 - 当route更改时,iron-meta key="route"会相应地更新.
但是,请注意,在Polymer 1.0中,<iron-meta>实质上是从父级到子级的单向绑定,因为您通过绑定到属性来动态设置元键值; 但是为了获得这个价值,你必须通过iron-meta的byKey()方法来获得它.
<iron-meta>只是一个简单的单独模式实现,没有内置的路径通知机制.这意味着价值变化不会向上传播.因此,做一些事情
<!-- this does not work like the way you think -->
<iron-meta id="meta" key="foo" value="{{bar}}">
Run Code Online (Sandbox Code Playgroud)
为了获取foo或听取更改的值,foo不起作用.这更像是一个setter,您可以foo根据数据绑定属性设置值bar.
从我收集的内容来看,您似乎正在尝试实现某种全局变量功能.monostate实现用于在Polymer 0.5中工作,但不在1.0中工作.不幸的是,在谷歌赞同这种"最佳实践"模式之前,直到约会的建议对我来说似乎有些推测.您可能会发现这(Polymer 1.0 Global Variables)很有帮助.
| 归档时间: |
|
| 查看次数: |
2324 次 |
| 最近记录: |