如果我将属性设置如下:
properties: { myProp: { type: Object, notify: true, observer: '_onChangedByObserver', } }, listeners: { 'my-prop-changed': '_onChangedByListener' }
当我运行的代码,无论是_onChangedByObserver
和_onChangedByListener
随时被称为myProp
改变.
那么如何确定使用哪个?
ps:我想知道变化是来自外部消费者还是内部分配.我该怎么办?
谢谢!!
当属性的值发生更改时,将调用观察者.Listeneres是所有类型事件的事件处理程序,而不仅仅是属性更改.要使观察者工作,您不需要设置notify: true
,如果您希望在属性更改时调用侦听器,则这是必要的.方法签名也不同.当侦听器在详细信息字段中获取具有新值的事件时,观察者将传递新值和旧值.
我认为没有办法说明在两种情况下导致变化的原因.