0

假设我们有这样的模型:

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 多条记录时,效率变得很糟糕。

我试图理解:在模型中定义计算属性是个好主意吗?

4

1 回答 1

2

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

这就是为什么最好将计算属性放在控制器中的原因。让控制器装饰模型。计算的属性将仅在控制器处于活动状态时计算 - 当它实际需要时。

于 2014-09-10T10:06:35.713 回答