控制器没有从mixin emberjs中获取属性

时间:2013-07-19 14:20:06

标签: ember.js controller

我有一些模型,它们之间共享一些属性。 mixins的相似之处在于。

我尝试从控制器显示一些计算属性,但如果属性来自mixin,则在模型中返回默认值。简而言之:

var StuffIndexController = Ember.ObjectController.extend({
    remaining: function(){
        // debugger;
        return this.get('seriousStaff');
    }.property('remaining')
});

我的模特就像:

Stuff = Ember.Object.extends(StaffMixin,{
  defprop:''

}

我的混音:

StaffMixin = Ember.Mixin.create({
   seriousStaff: '',
   other: function(){...}.property('other')
}

创建之后我填充模型。如果在页面上我尝试显示seriousStaff我得到空字符串,而对于defprop我从模型中获取填充数据。令人不安的是,在模板中,seriousStaffdefprop都能正常显示。

1 个答案:

答案 0 :(得分:1)

计算属性应与其观察的属性具有不同的名称,否则您将自行覆盖您的值。

StaffMixin = Ember.Mixin.create({ 
    seriousStaff: '',
    other: function(){...}.property('other')
}

应该是

StaffMixin = Ember.Mixin.create({
       seriousStaff: '',
       other: '',
       computedOther: function(){...}.property('other')
   }

希望这有帮助。