2

モデルの各インスタンスの変化を観察したいと思います。この小さな例を考えると、カテゴリのアイテム数が変わると、他のカテゴリごとにパーセント値が変わるはずです。この例では、percentValue は更新されません。

App.Category = DS.Model.extend({
  name:        DS.attr('string'),
  items:       DS.hasMany('App.Item'),
  percentValue: function() {
    var total_items = App.Item.all().get('length')
    var category_items = this.get('items').get('length')

    return total_items == 0 ? 0 : (100 * category_items / total_items).toFixed()
  }.property('@each.items.length')
})

App.Item = DS.Model.extend({
  name:         DS.attr('string'),
})

category = App.Category.createRecord({name: 'Category1'})
item = App.Item.createRecord({name: 'Item1'})

category.get('items').pushObject(item)
4

2 に答える 2

2

計算されたプロパティは、アクセスできる場所にpercentValue属していると思います。Ember.ArrayController@each

于 2013-07-25T07:33:42.547 に答える