Связывание узла выбора дерева AngularJS

В настоящее время я работаю над проектом, который создает узлы, а Angular Tree Control отображает узлы. Например, когда я создаю узел или заказываю узел (перемещаюсь вверх или вниз по дереву), я хочу, чтобы дерево было обновлено и последний узел был выбран в дереве.

Я попытался использовать пример в этой документации: http://wix.github.io/angular-tree-control/, но дерево не обновляется.

Это мой код

Посмотреть:

<div ng-controller="TreeController">
                <treecontrol class="tree-light"
                             name="rik"
                             tree-model="dataForTheTree"
                             options="treeOptions"
                             on-selection="showSelected(node)"
                             order-by="orderby"
                             selected-node="selected">
                </treecontrol>
            </div>

Угловой:

angular.module('recursionDemo', ['treeControl'])
        .controller("TreeController", ['$scope', '$http', function ($scope, $http) {
            $scope.dataForTheTree = [];

            $scope.showSelected = function(node)
            {
            $scope.treeOptions = {
                nodeChildren: "children",
                dirSelectable: true,
                injectClasses: {
                    ul: "a1",
                    li: "a2",
                    liSelected: "a7 tree-li-expanded-light",
                    iExpanded: "",
                    iCollapsed: "",
                    iLeaf: "a5",
                    label: "a6",
                    labelSelected: "a8"
                }
            }
            $http.get('/ajax/nodes')
                .success(function(data) {
                    $scope.dataForTheTree = data;
                    $scope.selected = 240; //select Node 240
                })
        }])
        .controller("NodeMoveController", ['$scope', '$http', function ($scope, $http) {
            $scope.NodeMove = function() {
               var move_to_node         = $('.move_to_node').val();
                var current_node    = $('.current_node').val()
                // ajax call
                $.ajax({
                    type : "POST",
                    headers: { 'X-XSRF-TOKEN' : token },
                    url : "/ajax/node/move",
                    data : {
                        move_to_node : move_to_node,
                        current_node : current_node
                    }
                }).done(function(msg) {
                // get new Nodes
                $http.get('/ajax/nodes')
                    .success(function(data) {
                        $scope.dataForTheTree = data;
                      // go to selected Node in the tree
                      $scope.selected = $scope.dataForTheTree[240]; // for example hardcoded 240 instead of msg.current_node
                    })
                });
            }
        }]);

Но когда я использую эту часть кода: $scope.selected = $scope.dataForTheTree[240]; дерево не обновляется и выбирается узел 240.

У кого-нибудь есть опыт работы с этим Tree Control или есть другие варианты для этого?

Заранее спасибо!

0 ответов

Другие вопросы по тегам