【发布时间】:2016-12-01 07:57:59
【问题描述】:
美好的一天,我正在尝试从具有父项和子项 id 的项目列表创建树列表,我根据以下链接使用角度材料递归查找 http://codepen.io/dunmaksim/pen/GJLogo/,但我的代码有问题。子级取决于 item.expanded。
<script type="text/ng-template" id="dirtyDataFromServer.html">
<md-list-item flex>
<md-checkbox aria-label="item" ng-model='item.checked' md-indeterminate="isIndeterminate(item, $event)" ng-click="toggleChildrenChekboxes(item, $event)"></md-checkbox>
<label>{{ item.id }}. {{ item.name }}</label>
<span flex></span>
<md-icon style="z-index:100" class="material-icons">
<i ng-click="toggleItems(item, $event)" class="material-icons">{{item.expanded ? 'expand_less' : 'expand_more' }}</i>
</md-icon>
</md-list-item>
<md-list flex ng-show="item.expanded">
<div class="list-left-margin" ng-repeat="item in item.subObjs" ng-include="'dirtyDataFromServer.html'"></div>
</md-list>
</script>
那么,这里发生了什么
1.item 1
2.item 2
3.item 3
4.item 4
6.item 6
7.item 7
5.item 5
但是当我展开时,例如第 4 项:
1.item 1
2.item 2
3.item 3
4.item 4
6.item 6
7.item 7
6.item 6
7.item 7
5.item 5
它在同一级别创建 dubble,项目相似,但在 DOM 中它们是不同的。
【问题讨论】:
标签: javascript angularjs tree angular-material angularjs-ng-include