If I set the property as follow:
properties: {
myProp: {
type: Object,
notify: true,
observer: '_onChangedByObserver',
}
},
listeners: {
'my-prop-changed': '_onChangedByListener'
}
When I run the code, both _onChangedByObserver and _onChangedByListener are called whenever myProp changed.
So how to determine which to used?
ps: I want to tell whether the change comes from external consumer or internal assignment. What should I do?
Thanks!!
Observers are called when the value of the property is changed. Listeneres are event handler for all kind of events, not only property changes. For observers to work you don't need to set notify: true, if you want a listener to be called on property change, this is necessary. Also the method signature differs. Observers get passed the new and the old value while listeners get an event with the new value in the details field.
I don't think there is a way to tell what caused the change in both cases.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With