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 次 |
| 最近记录: |