ngjstree:自动选择节点时出错

时间:2016-02-25 08:20:23

标签: javascript angularjs jstree

我正在使用NgJsTree(https://github.com/ezraroi/ngJsTree)来创建树。我希望保存用户选择的选项;所以我在一对变量中保存了用户的选择和完整路径。在特定情况下,我以这种方式得到像这个data.instance.get_path(data.node,'/');和所选节点的完整路径data.instance.get_node(data.selected[i])

我使用此功能触发loaded事件:

openSelectedNode = function(e, data){
    var nodes = config.path.split("/");
    for(var i=0;i<nodes.length;i++){
        $(this).jstree("open_node", $('#' + nodes[i].replace(" ", "")));
    }
    $(this).jstree('select_node', $('#' + nodes[nodes.length-1] ));
}

因此,通过这种方式,当树加载时,我可以重新打开树并选择正确的节点。代码有效,但在控制台中我有这个错误:

Uncaught TypeError: Cannot read property 'parents' of undefined

这不是正确的方法吗?我在做任何错误吗?

提前致谢。

此致

1 个答案:

答案 0 :(得分:1)

看起来你可能正在某处调用node.parents,这发生在我身上。另外,我会解决你的问题 我会:

  • 使用ngJStree提供的实例引用树,然后使用

    var selectedNode = vm.treeInstance.jstree(true).get_selected();

  • 存储节点ID,然后在下次创建树之前将其状态设置为“selected:true”。应该已经选择了这种方式。