我正在使用ngjstree(https://github.com/ezraroi/ngJsTree),我想用Ajax调用填充树;我查阅了文档和一些示例,但我没有找到任何有用的信息。 我知道这与jsTree类似,并检查了文档,我发现有可能以这种方式填充树:
$('#tree').jstree({
'core' : {
'data' : {
'url' : function (node) {
return node.id === '#' ?
'ajax_roots.json' :
'ajax_children.json';
},
'data' : function (node) {
return { 'id' : node.id };
}
}
});
在ngjstree中,我无法以同样的方式调用我的树($('#tree').jstree
),因为我有不同的结构。在特殊情况下,我有这个HTML:
<div ng-controller="treeCtrl as vm">
<div js-tree="vm.treeConfig" ng-model="vm.treeData" tree="vm.treeInstance"></div>
</div>
我尝试在控制器中填充树,如下所示:
vm.treeData = {
core : {
html_titles : true
},
plugins : ["themes", "json_data", "ui"],
json_data : {
"ajax" : {
"url" : myUrl,
"data" : function (n) {
return {
id : n.attr ? n.attr("id") : 0,
node_type : n.attr ? n.attr("rel") : '',
site_id: n.attr ? n.attr("site_id") : ''
};
}
}
}
但是这个返回总是只有一个节点的树,而如果我在浏览器上打开相同的ajax调用,则返回更多节点。
是否可以制作像jstree一样的东西?我在做任何错误吗?
对不起这个微不足道的问题,但我是初学者。
提前致谢
此致