Ember 仅将已更改的属性保存到商店。没有 AJAX

Ember Save changedAttributes to Store only. No AJAX

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

没有内置方法可以使用 .save() 清除 ember-数据标志并且不发出外部请求。

.save() 将

Save the record and persist any changes to the record to an external source via the adapter.

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

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}});