3

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

4

4 回答 4

7

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

  1. 获取模型

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

    p.get("transaction").rollback();
    
于 2012-05-03T06:00:00.890 回答
2

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

model.rollbackAttributes();

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

于 2016-01-29T14:26:49.897 回答
1

Paul Chavard @tchak有一个开放的 PullRequest ,请参阅https://github.com/emberjs/data/pull/176

于 2012-04-02T10:02:44.197 回答
0

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

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

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

于 2015-01-12T12:18:26.667 回答