如果我按以下方式设置属性:
properties: {
myProp: {
type: Object,
notify: true,
observer: '_onChangedByObserver',
}
},
listeners: {
'my-prop-changed': '_onChangedByListener'
}
当我运行代码时,只要_onChangedByObserver
发生更改,就会调用_onChangedByListener
和myProp
。
那么如何确定使用哪个?
ps:我想知道这种变化是来自外部消费者还是内部分配。我该怎么办?
谢谢!
答案 0 :(得分:6)
当属性值更改时,将调用观察者。 Listeneres是所有类型事件的事件处理程序,而不仅仅是属性更改。对于观察者来说,你不需要设置notify: true
,如果你想要在属性改变时调用一个监听器,这是必要的。方法签名也不同。当侦听器在详细信息字段中获取具有新值的事件时,观察者将传递新值和旧值。
我不认为有两种方法可以说明导致这两种情况发生变化的原因。