次のケースがあります。
...
SN.BaseService = Ember.Object.extend({
action : null,
send: function(action) {
this.set('action', action);
}
});
...
SN.userService = SN.BaseService.create({
login: function() {
if (some_condition) {
this.send("onSuccessfulLogin");
} else {
this.send("onFailedLogin");
}
}
});
...
SN.BaseService.reopen({
onAction: function() {
doSomething();
}.observes('action')
});
SN.BaseService.reopen({
actionChanged: Ember.observer(function() {
doSomething();
}, 'action')
});
私のオブザーバー (私が設定した方法に関係なく - 両方ともここに示されています) は呼び出されません。つまり、doSomething() は呼び出されません。
オブジェクト レベルのオブザーバーは問題なく動作します。それらを「クラス」レベルにしようとしたときだけです。フィードバックは大歓迎です。
ありがとう