删除/停用聚合物观察者

时间:2015-04-17 10:11:15

标签: polymer messaging observer-pattern

所以我决定尝试使用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);
    }
});

是否会对不必要的观察员产生影响

1 个答案:

答案 0 :(得分:1)

查看此链接https://www.polymer-project.org/0.5/docs/polymer/binding-types.html#one-time-bindings 我不确定这对你的情况是否有帮助。