有没有方法可以在元素初始化的时候添加或删除观察者? 我可以定义观察者这样说:聚合物。动态添加或删除观察者的方式
observers: ['dataChanged(data.*)']
我后面能消除这种观察员或我可以设置比这个观察者不同的方式?
有没有方法可以在元素初始化的时候添加或删除观察者? 我可以定义观察者这样说:聚合物。动态添加或删除观察者的方式
observers: ['dataChanged(data.*)']
我后面能消除这种观察员或我可以设置比这个观察者不同的方式?
可以轻松地动态地添加的观察者,无论是由:
this._addObserverEffect("property", observerFunction);
或
this._addComplexObserverEffect("dataChanged(data.*)");
去除更困难,聚合物不提供这样做的功能。虽然你可以在_propertyEffects
阵列中搜索它,但我不会推荐它。也许只是在你的观察者函数中检查它是否仍然有效,如果没有,就返回。
你也许可以试试这个方法: 与配置数据财产元素通知:真正,这样你就可以添加一个侦听到的变化与纯JS
var element=document.querySelector("#YOUR-ELE-ID");
element.addEventListener("data-changed", function(e) {
//triggered when data property changes
});
https://www.polymer-project.org/1.0/docs/devguide/properties#notify
并删除您可以拨打的绑定听众removeEventListener
https://developer.mozilla.org/de/docs/Web/API/EventTarget/removeEventListener
实施例1 - 平原JS:
document.addEventListener('WebComponentsReady', function(e) {
var element=document.querySelector("#YOUR-ELE-ID");
element.addEventListener("data-changed", function(e) {
//triggered when data property changes
});
});
实施例2 - 在定制元素:
//...element definition...
ready: function() {
var element=document.querySelector("#YOUR-ELE-ID");
element.addEventListener("data-changed", function(e) {
//triggered when data property changes
});
}