更新/修改从dojo datastore / JsonRestStore检索的对象

时间:2012-03-22 06:06:28

标签: javascript rest dojo

我正在使用DOJO JsonRestStore。我修改了对象中的字段。

将修改后的对象持久化回数据存储区和REST服务的正确步骤是什么?

更新:删除了有关网格的信息,因为它不是问题的一部分。

2 个答案:

答案 0 :(得分:1)

通常情况下,store.save()应该足够了......如果没有,则表示您的网格与商店之间存在问题。

答案 1 :(得分:1)

显然我假设退回的项目将与数据存储区同步。它似乎不是这样,必须使用以下方法手动更新:

store.setValue(item, field, value);

我也希望有一个等同于JPA合并的命令。如果用以下内容覆盖上一个对象:

store.newItem( updatedVersionOfItem );

并且该项具有相同的唯一ID,它将覆盖类似于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);      
});

我正在考虑把自己写成一个整洁的建筑。