假设我有一个模型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');
});
}
但我希望有更好的解决方案。