带有角度材料的树列表

时间:2016-12-01 07:58:00

标签: javascript angularjs tree angular-material angularjs-ng-include

美好的一天,我正在尝试从父项和子项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中它们是不同的。

1 个答案:

答案 0 :(得分:1)

数据存在问题,问题解决了。