Beobachter werden bei create () nicht aufgerufen
Ich habe einEmber.Mixin
die eine ihrer Eigenschaften beobachtet (hierbar.baz
).
Ich habe diesen Mixin erweitert und eingestelltbar.baz
in dem.create()
Parameter, aber mein Beobachter wird nicht aufgerufen.
Hier ist mein Code:
App.FooMixin = Ember.Mixin.create({
barBazDidChange: function() {
console.log('barBazDidChange'); // never called
}.observes("bar.baz")
});
App.Foo = Ember.Object.extend(App.FooMixin);
App.fooObject = App.Foo.create({
bar: Ember.Object.create({
baz: "ember"
})
});
Und die dazugehörige Jsfiddle:http://jsfiddle.net/aMQmn/
Ich könnte den Beobachter natürlich im anrufeninit()
Methode wie unten, aber ich frage mich, ob es eine bessere Lösung gibt (oder ob diese Lösung der richtige Weg ist, das zu tun):
App.FooMixin = Ember.Mixin.create({
init: function() {
this._super();
if (this.getPath('bar.baz')) {
this.notifyPropertyChange('bar.baz');
}
}
});