2015-12-24 81 views
2

嗨,我有一個問題:D我使用角1.4.7,現在我需要一些樹視圖。我使用了jsTree,但它將所有的ng-repeat視爲一個。這是jsTree的問題,還是我做錯了什麼?如果它是jsTree的問題,那麼你推薦使用什麼角度的treeView?吳重複和jsTree

關鍵節點:樹看起來很好,但是當我點擊它的一個元素,然後它只是點擊最高的一個。

這裏的代碼:

 <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> 

我得到我的數據是這樣的:

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

}); 

vm.treeNodeItems是一個對象。

它返回的數據是這樣的:

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} 

我把它從鉻所以可能會有一些語法問題,但它是正確的,工作

回答

1

要回答你的第二個問題,我會推薦ya-treeview。還有一個treeView這是很容易使用

ya-treeview支持像事件掛鉤,惰性(異步)加載功能。樹很大時很好用,它甚至不修改原始模型。此外,每個孩子都有參考父母,這在穿越時很有用。

+0

謝謝!我正在尋找這些東西。 jsTree只是頭痛的角色。現在我正在使用angular-ivh-treeview。我已經完成了所有的工作,所以我不能再改變它,但非常感謝你。我會盡快測試它:D再次感謝你 – crowz

0

嘗試修改您的代碼加載後運行樹你數據

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

當我做我所有的樹中消失......而我不是得到一個錯誤之前? – crowz

0

我和@crowz有同樣的問題。

可以修復而不訴諸像@manishrw建議的角度指令!

@Abdelrhman穆罕默德是正確的,確保你打電話$('#UserGroupTree')。jstree();在你的樹被角度完全初始化之後。但是,所提供的其他代碼可能無關緊要,具體取決於您的結構。在我的情況下,我只是移動一條線來解決這個問題。

0

確保數據源加載您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'); 

});