聚合物中的观察者和听者之间有什么区别?
What's the differences between observers and listeners in polymer?
如果我设置 属性 如下:
properties: {
myProp: {
type: Object,
notify: true,
observer: '_onChangedByObserver',
}
},
listeners: {
'my-prop-changed': '_onChangedByListener'
}
当我 运行 代码时,只要 myProp
发生变化,_onChangedByObserver
和 _onChangedByListener
都会被调用。
那么如何确定使用哪个呢?
ps:我想说说变化是来自外部消费者还是内部赋值。我该怎么办?
谢谢!!
当 属性 的值改变时调用观察者。 Listeneres 是所有类型事件的事件处理程序,而不仅仅是 属性 更改。对于观察者工作,你不需要设置 notify: true
,如果你想在 属性 变化时调用监听器,这是必要的。方法签名也不同。观察者获得新值和旧值的传递,而侦听者在详细信息字段中获得具有新值的事件。
我不认为有什么方法可以说明导致这两种情况发生变化的原因。
如果我设置 属性 如下:
properties: {
myProp: {
type: Object,
notify: true,
observer: '_onChangedByObserver',
}
},
listeners: {
'my-prop-changed': '_onChangedByListener'
}
当我 运行 代码时,只要 myProp
发生变化,_onChangedByObserver
和 _onChangedByListener
都会被调用。
那么如何确定使用哪个呢?
ps:我想说说变化是来自外部消费者还是内部赋值。我该怎么办?
谢谢!!
当 属性 的值改变时调用观察者。 Listeneres 是所有类型事件的事件处理程序,而不仅仅是 属性 更改。对于观察者工作,你不需要设置 notify: true
,如果你想在 属性 变化时调用监听器,这是必要的。方法签名也不同。观察者获得新值和旧值的传递,而侦听者在详细信息字段中获得具有新值的事件。
我不认为有什么方法可以说明导致这两种情况发生变化的原因。