如何撤消对模型的更改?

时间:2012-04-02 09:15:07

标签: ember.js ember-data

是否可以将模型恢复到干净状态?我的意思是撤消对其属性的所有更改并将状态标记为干净?

4 个答案:

答案 0 :(得分:7)

Ember-Data现在有一个很棒的实现。他们利用事务类来管理对象的更改,这对于它来说是正确的。要回滚模型上的更改:

  1. 获取模型

    // if PostController is a ArrayController or ArrayProxy
    p = App.PostController.objectAt(0);
    
  2. 获取对象的关联事务实例并调用它的rollback()方法。

    p.get("transaction").rollback();
    

答案 1 :(得分:2)

从Ember 2.0开始,这是一条路(一旦你有了模型对象' model'):

model.rollbackAttributes();

请参阅https://guides.emberjs.com/v2.0.0/models/creating-updating-and-deleting-records/

答案 2 :(得分:1)

Paul Chavard开放了PullRequest @tchak,见https://github.com/emberjs/data/pull/176

答案 3 :(得分:0)

更新:适用于ember版本< = 1.13

this.get('model').rollback();

查看类似问题:Revert change to ember data model