2013-07-19 15 views
1

我有一些模型在它們之間共享某些屬性。 mixin的相似之處在於混合因素。控制器不從mixin emberjs中拾取屬性

我嘗試顯示控制器的一些計算屬性,但如果該屬性來自mixin,則默認值將在模型中返回。在短代碼:

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

我的模式是這樣的:

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

}

我的mixin:

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

和創造後,我填充模型。如果在頁面上,我嘗試顯示seriousStaff我得到空字符串,而對於defprop,我從模型中獲取填充的數據。令人不安的是,在模板中seriousStaffdefprop得到正確顯示。

回答

1

計算屬性應該與它們正在觀察的屬性具有不同的名稱,否則您將自己覆蓋您的值。

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

應該像

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

希望這有助於。