Да предположим, че имам модел Stock
, който има няколко StockPartition
(свойство, наречено partitions
, това е масив).
Моделът Stock
има свойство usedAmount
, което трябва да се промени, когато някоя от всички partition.amount
се промени, и, разбира се, да се актуализира, когато се добави/премахне дял.
Пример:
stock.get('usedAmount') -> 0
stock.get('partitions') -> [Class, Class, Class]
stock.get('partitions')[0].set('amount', 12)
stock.get('usedAmount') -> I want here to return 12
stock.get('partitions')[1].set('amount', 12)
stock.get('usedAmount') -> I want here 24
Как може Stock
да наблюдава всяко partitions.amount
? Мога да напиша функция addPartition
, която изглежда така:
addPartition: function(partition) {
partition.addObserver('amount', function() {
this.get('owner').notifyPropertyChange('usedAmount');
});
}
Но се надявам да има по-добро решение.