Ember将changedAttributes仅保存到商店。没有AJAX

时间:2017-08-07 20:54:26

标签: ember.js ember-data

我想将Ember Data changedAttributes提交到商店记录,而不使用save()触发AJAX调用。有没有我可以传递给rec.save()的选项,它会将Ember Data记录设置为清理?如果没有解决方法?

1 个答案:

答案 0 :(得分:2)

没有内置的方法来清除使用.save()的ember-data标志,而不是发出外部请求。

save()将

  

保存记录并通过适配器将记录的任何更改保留到外部源。

您可以通过将adaptorOptions对象传递给save方法来覆盖适配器中的save方法并避免外部请求。

export default DS.RESTAdapter.extend({
   updateRecord: function(store, type, snapshot) {
       if (snapshot.adapterOptions.no_persist) {
           // Return a promise here containing snapshot.record
       } else {
           this.super(...arguments)
       }
    }
});

....

record.save({adapterOptions: {no_persist:true}});