相关疑难解决方法(0)

在create()上不调用Observer

我有一个Ember.Mixin观察其中一个属性(这里bar.baz).

我已经扩展了这个Mixin并bar.baz.create()参数中设置,但我的观察者没有被调用.

这是我的代码:

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"
    })
});?
Run Code Online (Sandbox Code Playgroud)

和相关的jsfiddle:http://jsfiddle.net/aMQmn/

我当然可以在init()下面的方法中调用观察者,但我想知道是否有更好的解决方案(或者如果这个解决方案是正确的方法):

App.FooMixin = Ember.Mixin.create({
    init: function() {
      this._super();
      if (this.getPath('bar.baz')) { 
        this.notifyPropertyChange('bar.baz');
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

ember.js

6
推荐指数
1
解决办法
1189
查看次数

标签 统计

ember.js ×1