0

プロジェクト コメントのリストがあり、テンプレートには最新のコメントが表示され、すべてのコメントを表示するモーダルを表示するボタンが表示されます。そのモーダルでは、コメントを個別に削除できます。これは機能し、それに応じてモーダルが更新されます。最後のレコードを削除するまで、テンプレートも更新されます。

これが私の最初のプロパティの宣言です。

mostRecentComment: Ember.computed('projectComments.firstObject', function() {
  return get(this, 'sortedProjectComments.firstObject');
})

コントローラーにクエリを実行し、firstObject が未定義であることを確認しましたが、計算されたプロパティはまだその値を保持していました。

計算されたプロパティを @each コメントを監視するように変更すると、次のようになります。

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 

最後のレコードが削除されたときにビューを更新するにはどうすればよいですか? または、このエラーを無視する必要がありますか?

4

1 に答える 1