Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 如何撤消对模型的更改?_Ember.js_Ember Data - Fatal编程技术网

Ember.js 如何撤消对模型的更改?

Ember.js 如何撤消对模型的更改?,ember.js,ember-data,Ember.js,Ember Data,是否可以将模型恢复为干净状态?我的意思是撤销对其属性的所有更改,并将状态标记为干净?Paul Chavard提出了一个open PullRequest,请参见余烬数据现在有一个很棒的实现。他们利用事务类来管理对对象的更改,imo正是这样做的合适位置。要回滚模型上的更改,请执行以下操作: 获得模型 // if PostController is a ArrayController or ArrayProxy p = App.PostController.objectAt(0); 获取对象的关联

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

Paul Chavard提出了一个open PullRequest,请参见余烬数据现在有一个很棒的实现。他们利用事务类来管理对对象的更改,imo正是这样做的合适位置。要回滚模型上的更改,请执行以下操作:

  • 获得模型

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


  • 更新:使用来自ember 2.0的ember版本这是一条路(一旦您获得了模型对象“model”):


    请参见

    所以,现在ember根本不保存原始模型的属性?现在PR已经合并,您应该将@Zeus的答案标记为已接受的答案。
    p.get("transaction").rollback();
    
    this.get('model').rollback();
    
    model.rollbackAttributes();