聚合物中观察者和听众之间的区别是什么?

时间:2015-12-09 04:20:43

标签: javascript polymer polymer-1.0

如果我按以下方式设置属性:

properties: {
    myProp: {
        type: Object,
        notify: true,
        observer: '_onChangedByObserver',
    }
},
listeners: {
    'my-prop-changed': '_onChangedByListener'
}

当我运行代码时,只要_onChangedByObserver发生更改,就会调用_onChangedByListenermyProp

那么如何确定使用哪个?

ps:我想知道这种变化是来自外部消费者还是内部分配。我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:6)

当属性值更改时,将调用观察者。 Listeneres是所有类型事件的事件处理程序,而不仅仅是属性更改。对于观察者来说,你不需要设置notify: true,如果你想要在属性改变时调用一个监听器,这是必要的。方法签名也不同。当侦听器在详细信息字段中获取具有新值的事件时,观察者将传递新值和旧值。

我不认为有两种方法可以说明导致这两种情况发生变化的原因。