首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngFor内部的ngFor - Angular 2

ngFor内部的ngFor - Angular 2
EN

Stack Overflow用户
提问于 2017-02-12 05:46:22
回答 1查看 7.1K关注 0票数 1

如何在Angular 2中使用*ngFor迭代多维数组。下面是使用以下代码的DOM包装器im:

代码语言:javascript
复制
<li *ngFor="let menuName of menuNames" routerLinkActive="active" [ngClass]="{'has-submenu':menuName.submenu?.length>0 }">
    <a href="#" [routerLink]="menuName.route" *ngIf="!menuName.enableSM"> <i class="glyphicon {{menuName.icon}}"></i><span class="nav-label">{{menuName.name}}</span> </a>
    <a href="#" *ngIf="menuName.enableSM"> <i class="glyphicon glyphicon-list-alt"></i> <span class="nav-label">Pages</span> </a>
    <ul class="list-unstyled" *ngIf="menuName.enableSM">
        <li *ngFor="let subMenuName of menuNames['submenu'] let idx = index;"> <a [routerLink]="subMenuName.route">404</a> </li>
    </ul>
</li>

和嵌套数组:

代码语言:javascript
复制
menuNames = [{
    name: "Dashboard",
    route: '/home',
    icon: "glyphicon-th-large",
    submenu: [],
    enableSM: false
}, {
    name: "Pages",
    route: '',
    icon: "glyphicon-list-alt",
    submenu: [{
        name: "404",
        route: '/404.html'
    }, {
        name: "Signin",
        route: '/auth/signin'
    }],
    enableSM: true
}];

第二个循环根本不渲染。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-12 05:52:55

在你的代码中有一些小问题,打字错误。第二个*ngFor应该如下所示:

*ngFor="let subMenuName of menuName['submenu']; let idx = index;"

注意,它是menuName,而不是menuNames,而且let idx前面有一个分号。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42181601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档