我有一些模型,它们之间共享一些属性。 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
我从模型中获取填充数据。令人不安的是,在模板中,seriousStaff
和defprop
都能正常显示。
答案 0 :(得分:1)
计算属性应与其观察的属性具有不同的名称,否则您将自行覆盖您的值。
StaffMixin = Ember.Mixin.create({
seriousStaff: '',
other: function(){...}.property('other')
}
应该是
StaffMixin = Ember.Mixin.create({
seriousStaff: '',
other: '',
computedOther: function(){...}.property('other')
}
希望这有帮助。