bgu*_*ach 2 javascript ember.js ember-data
我有一个小而相当标准的应用程序:
DS.hasMany
属性.app控制器处理一个save
事件,然后我存储了这些东西.代码如下所示:
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
save() {
this.store.peekAll('object').forEach(obj => {
obj.save();
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
这会为本地加载的每个对象发出PUT请求.它工作正常,但它有点蛮力.相反,我想只保存修改过的对象.
我已尝试使用dirtyType,但它返回的undefined
内部.forEach
,还有hasDirtyAttributes,但它false
总是返回.
我可以构建自己的修改对象缓存,但这将是很多工作和容易出错.有没有处理这种情况的标准方法?提前致谢.
这很好用:
if(obj.get('hasDirtyAttributes')){
obj.save();
}
Run Code Online (Sandbox Code Playgroud)
JSBin:http://emberjs.jsbin.com/jiqevo/1/edit?html,css,js,output
修改关系不会将模型设置为脏.作为一种解决方法,您可以手动将其设置为脏,如下所示:
this.get('model').send('becomeDirty');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
610 次 |
最近记录: |