我在我的应用程序中使用了一个ArrayController,它通过应用程序的路由器从Ember Data REST调用中提供:
postsController.connectOutlet('comment', App.Comment.find({post_id: post_id}));
Run Code Online (Sandbox Code Playgroud)
对于Post UI,我可以添加/删除评论.当我这样做时,我希望能够通过删除或添加相同的元素来更新postsController的contentArray,以便为用户提供可视反馈,但是Ember Data并不好玩:
Uncaught Error: The result of a server query (on App.Comment) is immutable.
Run Code Online (Sandbox Code Playgroud)
每低于sly7_7的评论,我只注意到这个结果确实DS.RecordArray时没有查询(App.Comment.find()),但在那里有一个查询(App.Comment.find({POST_ID的情况: post_id}),返回DS.AdapterPopulatedRecordArray.
我是否必须.observes('contentArray')并创建一个可变副本?或者有更好的方法吗?