Angular 2材料嵌套md-list-item

时间:2017-06-05 17:15:11

标签: angular angular-material angular-material2

在材质设计中使用Angular 2,尝试在sidenav中获取嵌套列表 我有像

这样的代码
<md-sidenav #sidenav class="sidenav" mode="over" opened>
    <md-nav-list>
           <md-card class="user-card">
               <md-card-header>
                 <div md-card-avatar class="user-avatar"></div>
               </md-card-header>
           </md-card>
      <md-divider></md-divider>
      <md-list-item *ngFor="let category of ategories">
         <a md-line>{{ category.name }}</a> 
      </md-list-item>
    </md-nav-list>
</md-sidenav>

工作正常,看起来像

enter image description here

现在当我尝试嵌套它时,比如

<md-sidenav #sidenav class="sidenav" mode="over" opened>
    <md-nav-list>
           <md-card class="user-card">
               <md-card-header>
                 <div md-card-avatar class="user-avatar"></div>
               </md-card-header>
           </md-card>
      <md-divider></md-divider>
      <md-list-item *ngFor="let category of ategories">
         <a md-line>{{ category.name }}</a>
         <md-list-item *ngFor="let subcategory of category.subcategories">
            <a md-line>{{ subcategory.subcategory }}</a>
         </md-list-item>
      </md-list-item>
    </md-nav-list>
</md-sidenav>

看起来像

enter image description here

我想实现嵌套列表,可能是可折叠的。 知道我做错了什么或如何解决这个问题?

2 个答案:

答案 0 :(得分:17)

好的,想通了,如果将来会有人像这样陷入困境。

*ngfor上不要md-list-item,而是在div上执行,就像这样

            <md-list>
                <div  *ngFor="let category of practice_categories">
                    <md-list-item>{{category.category}}</md-list-item>
                    <md-list style="margin-left:30px;">
                          <div *ngFor="let subcategory of category.subcategories">
                            <md-list-item>{{ subcategory.subcategory }}</md-list-item>
                          </div>
                    </md-list>
                </div>
            </md-list>

产生类似

的东西

enter image description here

希望有一天能帮到某人

答案 1 :(得分:3)

对于Angular 1.0,请使用此代码段:

<md-list>
    <div ng-repeat="category in categories">
        <md-list-item>{{category.name}}</md-list-item>
        <md-list style="margin-left:50px;">
            <div ng-repeat="subcategory in category">
                <md-list-item>{{ subcategory.name}}</md-list-item>
            </div>
        </md-list>
    </div>
</md-list>