防止阵列重新计算

时间:2015-02-04 18:45:11

标签: ember.js ember-data

我的一个Ember Data模型上有一个简单的Computed Property。它是question,其中包含许多answers,而且答案都有排序。

这是CP:

// models/question.js
export default DS.Model.extend({
  orderedAnswers: function() {
    return this.get('answers').sortBy('position');
  }.property('answers.@each.position')
});

在我的应用程序的其他位置,我更新其中一个answers的属性,并触发并重新计算此CP。这会导致我的应用程序中的回流并导致我丢失应用程序状态。

为什么会发生这种情况?位置没有变化,我在CP中放置了一个调试器并验证了它。

1 个答案:

答案 0 :(得分:1)

问题实际上是我的Pretender服务器的响应。我正在使用状态代码200和一些数据进行响应,这导致Ember Data在其身份映射中使对象无效。

要防止这种情况,请不返回任何数据,或返回状态代码204。