【发布时间】:2012-03-22 06:06:28
【问题描述】:
我正在使用 DOJO JsonRestStore。我修改对象中的字段。
将修改后的对象持久化回数据存储和 REST 服务的正确过程是什么?
更新:删除了有关网格的信息,因为它不是问题的一部分。
【问题讨论】:
标签: javascript rest dojo
我正在使用 DOJO JsonRestStore。我修改对象中的字段。
将修改后的对象持久化回数据存储和 REST 服务的正确过程是什么?
更新:删除了有关网格的信息,因为它不是问题的一部分。
【问题讨论】:
标签: javascript rest dojo
通常情况下,一个 store.save() 就足够了...如果不是,则意味着您的网格和存储之间存在问题。
【讨论】:
显然,我假设返回的项目将与数据存储同步。它没有出现,必须使用手动更新:
store.setValue(item, field, value);
我也希望有一个相当于 JPA 合并的命令。如果您使用以下内容覆盖先前的对象:
store.newItem( updatedVersionOfItem );
并且item具有相同的唯一id,它会覆盖旧的item,类似于merge。
有谁知道是否有某种工厂会为每个字段调用 store.setValue() 的项目创建 getter 和 setter?
我想它会是这样的:
var wrappedItem = itemWrapperFactory.createWrapper( item, store );
...
//Some where in createWrapper(...), this is just the concept
for (var itemField in itemFieldList)
this.__defineGetter__( itemField[index] , function(val){
store.setValue(item, itemField[index], val);
});
我正在考虑将自己的代码写成一个整洁的架构。
【讨论】: