2016-03-24 2 views
1

Я работаю с jstree и angularjs. У меня есть путь и имя узлов, но не отображается на странице. Где моя ошибка? Я обновил plunker (рабочий) пример с директивой ng-tree с моей проблемой. Теперь это довольно близко к моему приложениюугловой не отображает переменную сферы (сделано)

также я обеспечиваю код plunker здесь

HTML:

<h1>Where is my variable?!</h1> 
     <div>{{ test }}</div> 
    <pre>Path to A: {{ pathA }}</pre> 
    <pre>Path to B: {{ pathB }}</pre> 
     <pre>Path to C:{{ pathC }}</pre> 
<js-tree tree-data="json" tree-src="tree.json" 
        tree-events="changed:callback;"></js-tree> 

Js

$scope.test = "I'm test variable" 

    $scope.callback = function (e, data) { 

     // ===== Click event on node for Industry ===== 
     for (var i = 0; i < data.selected.length; i++) { 

      var parentNodeId = data.instance.get_node(data.selected[i]).parent; 
      var parentNodeText = data.instance.get_node(parentNodeId).text; 
      var selectedNodes = data.instance.get_selected(); 

      var node = data.instance.get_node(data.selected[i]).text; 

      console.log(node); 

      if (node == "a"){ 
        console.log($scope.pathA) 
      $scope.pathA = data.instance.get_path(data.node,'/'); 

      } 
      else if (node == "b"){ 
       console.log($scope.pathA) 
       $scope.pathB = data.instance.get_path(data.node,'/'); 

      } 
      else if (node == "c"){ 
       console.log($scope.pathA) 
      $scope.pathC = data.instance.get_path(data.node,'/'); 

      } 
      // and etc.... 
     } 
    } 
+1

Вы не должны использовать jQuery таким образом с угловым. Вы должны действительно [переключиться на угловую версию js-tree] (https://github.com/ezraroi/ngJsTree) –

+0

@PankajParkar, Я использую [другую угловую директиву js-tree] (https://github.com/arvindr21/jsTree-directive) в приложении, я предоставил просто простой пример – Anton

+0

, в вашем коде показывалась только версия jQuery. и с ним ничего не было реализовано. –

ответ

2

Вашего jstree не вызывает какое-либо обнаружения изменений, это означает, что обратный вызов тоже не будет, и ни одна из ваших переменных не будет обновлена. Вы можете исправить это, вручную вызвав $scope.$apply() в обратном вызове!

+0

спасибо большое! вы сделали мой день! – Anton

Смежные вопросы