我在 Mozilla 3 上以编程方式创建了一个dojo树,如下所示
var store = new dojo.data.ItemFileReadStore({
"id": "treeSt",
"data": _treeData
}
);
var model = new dijit.tree.ForestStoreModel({
"jsId": "tModel",
"store": store,
"rootId": "tems",
"rootLabel": "TEMS",
"query": {
“type”:“root” }, “childrenAttr”:[“孩子们”] });
var tree = new dijit.Tree({
"id": treeId,
"model": model,
"openOnClick": false,
"onClick": setSelectedNode
}
);
每次将节点添加到树中时,我都会更新我的全局变量_treeData,destory并重新创建树。 _treeData包含树的所有json数据。有没有其他方法来维护树数据而不必维护全局变量?
此外,当我尝试使用dojo.toJson(_treeData)
序列化_treeData时,我在firebug控制台中收到错误 - “Too Much Recursion”。还有其他办法吗?
提前感谢您的帮助。
答案 0 :(得分:0)
您可以在dojo.data.ItemFileReadStore上设置'url'属性并从服务器加载数据。
要refresh the store,我们必须调用fetch()函数。
如果您可以使用ItemFileWriteStore,则可以使用newItem()函数只添加新项而不是更改整个商店。
更多信息rgarding商店位于http://www.dojotoolkit.org/reference-guide/quickstart/data/usingdatastores/faq.html
希望它有所帮助。