Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ng repeat和jsTree_Angularjs_Treeview_Angularjs Ng Repeat_Ng Repeat - Fatal编程技术网

Angularjs ng repeat和jsTree

Angularjs ng repeat和jsTree,angularjs,treeview,angularjs-ng-repeat,ng-repeat,Angularjs,Treeview,Angularjs Ng Repeat,Ng Repeat,嗨,我有一个问题:我正在使用angular 1.4.7,现在我需要一些treeview。我使用了jsTree,但它将所有ng重复视为一个。这是jsTree的bcs问题还是我做错了什么?如果这是jsTree的问题,那么您建议如何在angular上使用treeView 关键节点:树看起来不错,但当我单击其中一个元素时,它只会单击最上面的一个 代码如下: <div class="col-md4 col-sm-4 col-xs-4" id='UserGroupTree' >

嗨,我有一个问题:我正在使用angular 1.4.7,现在我需要一些treeview。我使用了jsTree,但它将所有ng重复视为一个。这是jsTree的bcs问题还是我做错了什么?如果这是jsTree的问题,那么您建议如何在angular上使用treeView

关键节点:树看起来不错,但当我单击其中一个元素时,它只会单击最上面的一个

代码如下:

        <div class="col-md4 col-sm-4 col-xs-4" id='UserGroupTree' >

            <ul>
                <li ng-repeat="item in page.treeNodeItems" value='item.UserGroupCode'>{{item.UserGroupName}}
                </li>
            </ul>

            <script>
                $('#UserGroupTree').jstree();
            </script>


        </div>
vm.treeNodeItems是一个对象

它返回如下数据:

HttpService.post("user_group", {}).then(function successCallback(response) {
    vm.treeNodeItems = response.data.returnObject;
}, function errorCallback(response) {
    console.log('error');

});
returnObject: [{UserGroupCode: "UGR_1", UserGroupName: "Admin", UserGroupType: "PUZ"}]
0: {UserGroupCode: "UGR_2", UserGroupName: "Admin", UserGroupType: "PUZ"}
1: {UserGroupCode: "UGR_11", UserGroupName: "Bini", UserGroupType: "AG"}
2: {UserGroupCode: "UGR_32a1209a96c", UserGroupName: "ssd",…}
3: {UserGroupCode: "UGR_8a06aead39b", UserGroupName: "eniz",…}
4: {UserGroupCode: "UGR_ee3029db538", UserGroupName: "sdsd", UserGroupType: null}

我从chrome上获取了它,因此可能存在一些语法问题,但它是正确的,可以工作的

在加载数据后尝试修改代码以运行树

HttpService.post("user_group", {}).then(function successCallback(response) {
    vm.treeNodeItems = response.data.returnObject;
    $('#UserGroupTree').jstree();
}, function errorCallback(response) {
    console.log('error');
});

为了回答你的第二个问题,我建议。还有一个使用起来非常简单


YaTreeView支持事件挂钩、延迟(异步)加载等功能。当树很大时使用它很好,它甚至不修改原始模型。此外,每个子级都有对父级的引用,这在遍历中非常有用。

我遇到了与@crowz相同的问题

无需借助@manishrw建议的角度指令即可修复


@Abdelrhman Mohamed是正确的,确保调用$('#UserGroupTree').jstree();在您的树被angular完全初始化之后。然而,所提供的所有其他代码可能都是无关的,这取决于您是如何构建的。在我的例子中,我只是移动了一行来解决这个问题。

确保在启动jstree之前加载了数据源

HttpService.post("user_group", {}).then(function successCallback(response) {
    vm.treeNodeItems = response.data.returnObject;
    $timeout(function(){
            $('#UserGroupTree').jstree(),1000
        })
}, function errorCallback(response) {
    console.log('error');

});

当我这么做的时候,我所有的树都消失了。。。我没有收到错误??谢谢!!我在寻找这些东西。这只会让你头疼。现在我用的是angular ivh treeview。我已经用它做了所有的工作,所以我不能再改变它,但非常感谢你。我也会尽快测试它:D再次感谢你