Я хотел бы наблюдать изменения в каждом экземпляре модели. Учитывая этот маленький пример, когда количество элементов изменяется для категории, процентное значение должно измениться для каждой другой категории. В этом примере он не обновляет 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)
Кажется, что 'items.each' отмечает только элементы одной категории, а не всех категорий. Я хочу, чтобы, если треки CategoryA меняются, тогда необходимо также обновить значение процентаValue CategoryB. Большое спасибо за другие советы :) –
Действительно, 'предметы. @ Each' будут наблюдать только за категориями. Вы пробовали 'App.Item.all.length' или' @ each.items. @ Each'? –
да, обе не делаем :( –