灰烬:还原unloadRecord

时间:2018-07-18 19:53:35

标签: ember.js ember-data

我正在列出一个hasMany关系,可以更新,删除或添加一条记录。

我想为用户提供一个还原选项,该选项应将列表还原到其最后保存的状态。

对于删除,我执行item.deleteRecord(),以便可以使用rollbackAttributes()还原更改。更改将按预期还原,但是在保存时其行为会不一致(保存项所属的模型并不会在第一次保存时更新其脏状态,即使更改已正确发送到后端,下一条记录也会从视图中消失,并且等等)。

因此,我决定使用unloadRecord,但是一旦卸载记录,就无法在不重新加载页面的情况下还原它。

一种方法是保存旧状态并在还原时使用它。请帮我清洁工实现这一目标。

要了解我的模型,请Ember: Model's property changes not detected in computed property

1 个答案:

答案 0 :(得分:0)

卸载记录会将其从Ember Data的内存数据存储中删除。

获取该记录的唯一方法是从服务器(也就是this.store.findRecord())重新请求它。

您将从服务器上获得一个全新的副本,但是该副本不会在客户端卸载之前对其进行任何更改,并且可能会与其他客户端进行新更改。