【发布时间】:2014-12-18 09:44:32
【问题描述】:
我正在使用 jstree 访问 xml。我需要将树中创建的节点等保存到本地存储。 所以,我现在正在做的是,当创建一个节点时,我使用“get_json”将树的一个实例转换为 json 形式,然后使用“JSON.stringify”,我将它转换为一个 json 字符串。我将此 json 字符串作为“SavedTree”保存到本地存储。
.bind('create_node.jstree', function(e, data){
var jsonForm =$('#treeContainer').jstree('get_json', -1);
localStorage.setItem('SavedTree', JSON.stringify(jsonForm));
})
};
当我从 localStorage 中检索“SavedTree”时,我对其进行解析以将字符串转换回 json:
var NewTree = localStorage.getItem('SavedTree');
var NewTree = JSON.parse(NewTree);
'NewTree' 是 Json 格式。如何将其转换回树的实例,以便可以在下面的代码中将其用作“数据”?
("#treeContainer").jstree({
"json_data" : {
"data": data
"progressive_render":"true"
},
"plugins": [ "json_data", "contextmenu", "crrm", "dnd", "unique"],
})
我是 javascript 新手,所以这可能是一个愚蠢的问题,但任何关于如何进行的建议将不胜感激。谢谢。
【问题讨论】:
-
state插件不符合您的要求吗? -
状态插件不只记得打开/关闭了哪些节点吗?
-
创建/删除节点等时需要保存树。
-
不知道
state是否保存了新节点。如果它真的在拯救国家,我会假设它确实如此。不幸的是,文档没有提到它。
标签: javascript json local-storage jstree