假设我们有这样的模型:
App.Somemodel = DS.Model.extend({
A:DS.attr('number'),
B:DS.attr('number'),
CP: function(){return this.get('A') + this.get('B');}.property('A','B')
})
我的问题是:CP什么时候重新计算? - A更改后(在record.save()之前) - 保存记录后? - 再次从商店检索此记录的那一刻?
我的第二个问题是:行为是因为计算属性本身吗?
我现在正在努力解决一些问题:当同时更新1000多条记录时,效率变得非常糟糕。
我试图理解:在模型中定义computed-property是个好主意吗?
答案 0 :(得分:2)
每次设置A或B时都会计算CP(除非它们都设法在一个运行循环中设置)。计算属性绑定到A和B.
这就是为什么最好将计算属性放在控制器中。让控制器装饰模型。然后,只有在控制器处于活动状态时才会计算计算属性 - 实际需要时。