out*_*344 14 ember.js ember-data
有没有办法轻松地将更改恢复为Ember Data模型?
我有一个绑定到编辑视图的模型.此视图使用户可以取消编辑,此时我想将更改还原为模型.有没有一种简单的方法可以在不克隆所有值的情况下执行此操作?
fro*_*kos 14
从Ember Data版本2开始,不再有事务,但您可以在保存的版本之前将模型重置为上次状态:
model.rollbackAttributes();
Run Code Online (Sandbox Code Playgroud)
小智 6
Ember Data支持交易的概念.我们可以创建一个事务并为它们分配Ember数据记录,如果我们要撤消更改,我们可以调用事务rollback()方法.此外,如果我们不创建显式事务,则将记录分配给默认事务,可以通过调用DS.store对象本身上的rollback()方法来回滚该事务.
小智 5
默认事务的名称名为"defaultTransaction".实际上,当Embers提交时,它使用此默认事务.我不能直接在商店直接使用回滚.
而不是使用store.rollback,你应该有类似的东西:
store.get('defaultTransaction').rollback()
Run Code Online (Sandbox Code Playgroud)
或(如果您在路由器事件管理器中)
event.get('store.defaultTransaction').rollback()
Run Code Online (Sandbox Code Playgroud)