Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 删除第一个对象时,Ember计算属性不更新视图_Ember.js_Properties_Computed Properties - Fatal编程技术网

Ember.js 删除第一个对象时,Ember计算属性不更新视图

Ember.js 删除第一个对象时,Ember计算属性不更新视图,ember.js,properties,computed-properties,Ember.js,Properties,Computed Properties,我有一个项目注释列表,我的模板显示了最新的注释,并带有一个按钮,用于显示所有注释的模式。在该模式中,您可以单独删除注释,这是有效的,并且模式会相应地更新。模板也会更新,直到我删除最后一条记录 这是我对财产的原始声明: mostRecentComment: Ember.computed('projectComments.firstObject', function() { return get(this, 'sortedProjectComments.firstObject'); }) 即使

我有一个项目注释列表,我的模板显示了最新的注释,并带有一个按钮,用于显示所有注释的模式。在该模式中,您可以单独删除注释,这是有效的,并且模式会相应地更新。模板也会更新,直到我删除最后一条记录

这是我对财产的原始声明:

mostRecentComment: Ember.computed('projectComments.firstObject', function() {
  return get(this, 'sortedProjectComments.firstObject');
})
即使我查询了控制器并确认firstObject未定义,computed属性仍保留其值

如果我将computed属性更改为watch@each comment,如下所示:

mostRecentComment: Ember.computed('projectComments.@each.projectComment', 'projectComments.firstObject', function() {
  return get(this, 'sortedProjectComments.firstObject');
})
然后视图会更新,但控制台会抛出一个错误:

Error: No model was found for '0'
    at new Error (native)
    at Error.EmberError (http://localhost:4200/assets/vendor.js:18042:23)
    at Ember.Object.extend.modelFor (http://localhost:4200/assets/vendor.js:75114:19)
    at __exports__.default.JSONSerializer.extend.extractSingle (http://localhost:4200/assets/vendor.js:68260:28)
    at apply (http://localhost:4200/assets/vendor.js:23073:27)
    at superWrapper [as extractSingle] (http://localhost:4200/assets/vendor.js:22647:15)
    at __exports__.default.Ember.Object.extend.extractSave (http://localhost:4200/assets/vendor.js:67828:21)
    at __exports__.default.Ember.Object.extend.extractDeleteRecord (http://localhost:4200/assets/vendor.js:67779:21)
    at __exports__.default.Ember.Object.extend.extract (http://localhost:4200/assets/vendor.js:67665:37)
    at http://localhost:4200/assets/vendor.js:75760:32 
如何在删除最后一条记录时更新视图?或者我应该忽略这个错误吗?

使用

mostRecentComment: Ember.computed.alias('sortedProjectComments.firstObject')

facepalm是的,这很有效,让我不用看两个属性。但是,它并不能消除错误,我不确定是否应该让它发生,因为一切似乎都正常运行,或者错误的真正原因是什么。当您不包括
mostRecentComment
时,错误会消失吗?