1

いくつかのプロパティを共有するいくつかのモデルがあります。類似点はミックスインに取り除かれます。

コントローラーから計算されたプロパティをいくつか表示しようとしましたが、プロパティが 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が適切に表示されることです。

4

1 に答える 1

1

計算されたプロパティには、観察しているプロパティとは異なる名前を付ける必要があります。そうしないと、値を自分で上書きすることになります。

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

次のようなものでなければなりません

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

お役に立てれば。

于 2013-07-19T14:40:37.993 に答える