我有一个工作的Mixin课程,我已经转换为插件,原因让我感到困惑的是:
Ember.addObserver(self, prop, self, Ember.run.bind(self, self.addDynamicObserver, prop));
在插件中没有任何位置,但在Mixin类的本地定义中按预期工作。
可以在Mixin类的初始值设定项中找到此调用:
_initialise: function() {
var self = this;
try {
this.eachAttribute(function(prop,meta) {
if(meta.type === "dictionary") {
Ember.addObserver(self, prop, self, Ember.run.bind(self, self.addDynamicObserver, prop));
}
});
} catch (e) {
console.warning('Dictionary mixin did not initialise. Note: the dictionary mixin should only be used by a Model-derived class.');
}
}.on('init'),
在这两种情况下(本地实施与插件):
addObserver()
的调用但是,如上所述,addon对addObserver()的调用永远不会调用self.addDynamicObserver
。
任何帮助都将不胜感激。