我们正在尝试 Angular-NestedSortable https://github.com/subvertnormality/Angular-NestedSortable(angular-ui-tree 的第 2 版看起来还不稳定,看看测试)。
我们想通过 REST 加载树结构,然后折叠根节点。
此外,我们希望在展开项目时发出额外的 REST 请求。我们遇到了问题,因为 NestedSortable 使用了很多嵌套的 Angular 作用域,而且我们不了解如何访问诸如 collapseAll() 之类的 API 方法或如何重载 toggle()。
有人可以提供一个示例小提琴或 plunkr 左右吗?
那是行不通的:
$scope.list = [...]; $scope.collapseAll();
因为collapseAll
没有在外部范围内定义......
3274 次
1 回答
0
您可以这样做,使用您的 treeView 节点创建模板。
重要的:
callRestService() // 函数
data-collapsed="node.collapsed" // 设置真假,node. 折叠是您模型的属性
例子:
<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>
于 2014-08-07T09:24:42.610 回答