向dojo树的存储添加新项不会触发更新

向dojo树的存储添加新项不会触发更新,dojo,tree,Dojo,Tree,我正在尝试通过将节点添加到其存储区,将新节点添加到dijit.tree。 节点已添加到存储中,但树模型未更新 这里是我的商店,模型和树的设置 这里是添加项的函数 函数addNewNode(项){ var self=这个; 控制台日志(项目); this.treeModel.getRoot(函数(根){ var tmp=self.treeStore.newItem(item,{parent:root,attribute:[]}); self.treeStore.save(); }); } 我做

我正在尝试通过将节点添加到其存储区,将新节点添加到dijit.tree。 节点已添加到存储中,但树模型未更新

这里是我的商店,模型和树的设置

这里是添加项的函数

函数addNewNode(项){
var self=这个;
控制台日志(项目);
this.treeModel.getRoot(函数(根){
var tmp=self.treeStore.newItem(item,{parent:root,attribute:[]});
self.treeStore.save();
});
}
我做错了什么

编辑 上面的代码表明这只是一个更新问题

试试看

store.newItem(item);
store.save();
theGrid.setStore(store);
theGrid.update();
theGrid._refresh();

为了检查是否正常,您可以尝试在林模型上执行getChildren以查看更改是否已传递到存储区吗?嗨,missingno。结果我只遇到了更新问题。。。服务器上的脚本不是最新的XP。无论如何,上面的代码是有效的,我想我们中的一些人可以使用它作为开发的基础。我是否应该将问题改为“如何向dijit树添加新项目”?请随意操作。我只想指出,如果使用新的dojo.store api,情况会有所不同:这是新的,对吧?直到现在才看到教程。。。谢谢你的链接我现在有点困惑。。。在本教程中,他们使用JsonRest而不是jsonreststore,这两种方法的优点/缺点是什么?调用newItem()后,store.save()是必需的。谢谢你的分数+1
store.newItem(item);
store.save();
theGrid.setStore(store);
theGrid.update();
theGrid._refresh();