【发布时间】:2015-12-08 21:13:48
【问题描述】:
在Polymer 1.0 中,您可以删除{{localPropFoo.bar}},如果您使用this.set('localPropFoo.bar', 'new value'); 更新其值,将观察bar 的变化。
但是,如果您想将模板绑定到您无法控制的外部对象,该怎么办?例如,这个 {{window.globalFoo.bar}} 不会绑定到 bar 更改,因为外部代码不依赖于 Polymer 并且不调用 this.set。
手动使用 Object.observe 需要额外的代码,并且在 FireFox 中不起作用(对 observe.js 进行脏检查以进行救援)。
我想知道将数据绑定到您无法控制的外部对象的惯用方式是什么。
【问题讨论】:
-
你试过铁信号吗?它可以监听任何 Iron-signal-* 事件,无论其在 DOM 中的位置如何。
-
惯用方式是不要绑定到您无法控制的外部对象。您是否使用其他设置它的库?如果您控制整个应用程序,那么应该不需要它。
-
observe-js 是你这里唯一的帮手,但它是笨拙的方法
-
@Andrey 我使用自己的库,我不想依赖 Polymer,但我可以让它以某种方式发出事件,也许是 Node 的
EventEmitter。 -
@ilyaigpetrov 你可以使用原生 JS 事件
标签: polymer globals object.observe