所以我决定尝试使用observers代替custom events进行沟通。
在我的bootstrap逻辑中,我正在监听一些模型,用观察块进行更新:
observe: {
'$.myModel.value': function(){
initLogic();
delete this.observe['$.myModel.value'];
}
},
然后我想停止听,因为这只需要做一次。
是否像删除observe.<whatever>
功能(如上所示)或我需要更明确一样简单吗?
或者我可以使用一个承诺,在这种情况下我不关心观察者是否继续触发:
var initDeferred = Promise.defer();
Polymer('init-logic', {
observe: {
'$.myModel.value': initDeferred.resolve
},
ready: function(){
initDeferred.promise.then(initLogic);
}
});
但是否会对不必要的观察员产生影响?
答案 0 :(得分:1)
查看此链接https://www.polymer-project.org/0.5/docs/polymer/binding-types.html#one-time-bindings 我不确定这对你的情况是否有帮助。