Emberjs Model的计算机房产

时间:2014-09-10 06:11:54

标签: ember.js model computed-values

假设我们有这样的模型:

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是个好主意吗?

1 个答案:

答案 0 :(得分:2)

每次设置A或B时都会计算CP(除非它们都设法在一个运行循环中设置)。计算属性绑定到A和B.

这就是为什么最好将计算属性放在控制器中。让控制器装饰模型。然后,只有在控制器处于活动状态时才会计算计算属性 - 实际需要时。