我的一个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中放置了一个调试器并验证了它。
答案 0 :(得分:1)
问题实际上是我的Pretender服务器的响应。我正在使用状态代码200和一些数据进行响应,这导致Ember Data在其身份映射中使对象无效。
要防止这种情况,请不返回任何数据,或返回状态代码204。