如何将观察者附加到作为数组的 polymer 属性?需要明确的是,我想要在数组中的项目发生变化时进行回调。为简单起见,假设我的数组是:
[
{ text: 'foo' },
{ text: 'bar' }
]
我想要这样的东西:
observe : {
'items.text' : 'itemsChanged'
}
以下是有效的,但显然是不可持续的:
observe : {
'items[0].text' : 'itemsChanged',
'items[1].text' : 'itemsChanged'
}
请注意,在我的例子中,更改来 self 可以控制的另一个 polymer 元素。因此,如果我能以某种方式触发控制 { text: 'foo' }
的元素的更改,那也可以。
最佳答案
需要明确的是,Polymer 会自动观察数组,但“ArrayObserver”只会告诉您 (a) 数组本身是否被替换或 (b) 项目是否被添加、删除或重新排列。就像观察对象一样,Polymer 不会自动观察子对象的属性。
the changes are coming from another polymer element that I have control over
通常是这种情况,我们通常让元素进行更改,触发一个事件进行通信。
关于javascript - Polymer - 如何将观察者附加到阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639507/