如何将项目添加到 JsonRestStore 本地存储?
How to add an item to the JsonRestStore local storage?
我使用树 dijit.tree.ForestStoreModel
作为模型,JsonRestStore
作为商店。
初始化树时它工作正常。之后我想手动(不是从服务器)向商店添加另一个项目来更新树。
我的问题是,如果不通过 rest 将项目发布到服务器,而只发布到本地存储,我该如何做到这一点。我使用了 store.newItem()
但没有成功。
我认为在这种情况下,您可能不想实际使用 JsonRestStore。根据您的用例,您可能希望使用其他类型的 dojo 存储,例如 Memory 并在树初始化时,通过其他方法从服务器加载数据。
我终于弄清楚是什么触发了对服务器的请求。那是 jsonRestStore.save()
,它将脏数据提交给服务器。
从我的代码中删除它后,我使用以下命令将新数据添加到树中:
jsonRestStore.fetchItemByIdentity({
identity: parent.path,
onItem: function (parent) {
store_cloud.newItem(child, {
parent: parent,
attribute: 'children'
});
}
});
这里我有一个子节点和一个父节点。 'children' 属性也用于引用。
我使用树 dijit.tree.ForestStoreModel
作为模型,JsonRestStore
作为商店。
初始化树时它工作正常。之后我想手动(不是从服务器)向商店添加另一个项目来更新树。
我的问题是,如果不通过 rest 将项目发布到服务器,而只发布到本地存储,我该如何做到这一点。我使用了 store.newItem()
但没有成功。
我认为在这种情况下,您可能不想实际使用 JsonRestStore。根据您的用例,您可能希望使用其他类型的 dojo 存储,例如 Memory 并在树初始化时,通过其他方法从服务器加载数据。
我终于弄清楚是什么触发了对服务器的请求。那是 jsonRestStore.save()
,它将脏数据提交给服务器。
从我的代码中删除它后,我使用以下命令将新数据添加到树中:
jsonRestStore.fetchItemByIdentity({
identity: parent.path,
onItem: function (parent) {
store_cloud.newItem(child, {
parent: parent,
attribute: 'children'
});
}
});
这里我有一个子节点和一个父节点。 'children' 属性也用于引用。