要素の初期化時にオブザーバを追加または削除する方法はありますか? 私はオブザーバーをこのように定義することができます。ポリマー。オブザーバを動的に追加または削除する方法
observers: ['dataChanged(data.*)']
は、私はこの後オブザーバを削除できますか私はそれよりも、このオブザーバ異なる方法で設定することができますか?
要素の初期化時にオブザーバを追加または削除する方法はありますか? 私はオブザーバーをこのように定義することができます。ポリマー。オブザーバを動的に追加または削除する方法
observers: ['dataChanged(data.*)']
は、私はこの後オブザーバを削除できますか私はそれよりも、このオブザーバ異なる方法で設定することができますか?
または
this._addComplexObserverEffect("dataChanged(data.*)");
除去が難しく、Polymerはこれを行う機能を備えていません。 _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 - カスタム要素で:
this._addObserverEffect("property", observerFunction);
:あなたは簡単にいずれかの方法で、動的にオブザーバを追加することができます
//...element definition...
ready: function() {
var element=document.querySelector("#YOUR-ELE-ID");
element.addEventListener("data-changed", function(e) {
//triggered when data property changes
});
}