2014-05-12 38 views
0

我們正在嘗試Angular-NestedSortable https://github.com/subvertnormality/Angular-NestedSortable(角色樹的版本2看起來看起來並不穩定)。
我們想通過REST加載樹結構,然後摺疊根節點。
另外,我們希望在擴展項目時進行額外的REST請求。 我們遇到了問題,因爲NestedSortable使用了很多嵌套的Angular範圍,我們不知道如何訪問像collapseAll()這樣的API方法或者如何重載toggle()。
有人可以提供一個例子小提琴或plunkr左右?
這並不工作: $scope.list = [...]; $scope.collapseAll(); 因爲collapseAll在外部範圍並不定義...收起Angular-NestedSortable/angular-ui-tree

回答

0

你可以這樣做, 創建您的TreeView節點tamplate。

重要:

  1. callRestService()//功能

  2. 數據塌陷= 「node.collapsed」 //設置真或假,節點。 倒塌是你的模型的屬性格式

例如:

<script type="text/ng-template" id="tree_nodes.html"> 
    <div ui-tree-handle class="tree-node tree-node-content" ng-mouseover="showButtons=true" ng-mouseleave="showButtons=false"> 
     <a style="cursor:pointer;" data-nodrag ng-click="toggle(this); callRestService(this)"> 
      <span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed, 'glyphicon-chevron-down': !collapsed}"></span> 
     </a> 
     {{node.Name}} 
     <a ng-show="showButtons" class="pull-right" style="cursor:pointer;" data-nodrag ng-click="remove(this)"><span class="glyphicon glyphicon-remove"></span></a> 
     <a ng-show="showButtons" class="pull-right" style="cursor:pointer;margin-right: 8px;" data-nodrag ng-click="newSubItem(this)"><span class="glyphicon glyphicon-plus"></span></a> 
    </div> 
    <ol ui-tree-nodes ng-model="node.nodes" ng-class="{hidden: collapsed}"> 
     <li ng-repeat="node in node.nodes" data-collapsed="node.collapsed" ui-tree-node ng-include="'tree_nodes.html'"> 
     </li> 
    </ol> 
</script> 

<div ui-tree id="tree-root"> 
    <ol ui-tree-nodes="" ng-model="data"> 
     <li ng-repeat="node in data" ui-tree-node data-collapsed="node.collapsed" ng-include="'tree_nodes.html'"></li> 
    </ol> 
</div>