我正在列出一个hasMany
关系,可以更新,删除或添加一条记录。
我想为用户提供一个还原选项,该选项应将列表还原到其最后保存的状态。
对于删除,我执行item.deleteRecord()
,以便可以使用rollbackAttributes()
还原更改。更改将按预期还原,但是在保存时其行为会不一致(保存项所属的模型并不会在第一次保存时更新其脏状态,即使更改已正确发送到后端,下一条记录也会从视图中消失,并且等等)。
因此,我决定使用unloadRecord
,但是一旦卸载记录,就无法在不重新加载页面的情况下还原它。
一种方法是保存旧状态并在还原时使用它。请帮我清洁工实现这一目标。
要了解我的模型,请Ember: Model's property changes not detected in computed property
答案 0 :(得分:0)
卸载记录会将其从Ember Data的内存数据存储中删除。
获取该记录的唯一方法是从服务器(也就是this.store.findRecord())重新请求它。
您将从服务器上获得一个全新的副本,但是该副本不会在客户端卸载之前对其进行任何更改,并且可能会与其他客户端进行新更改。