* ngFor指令中定制项的顺序

时间:2018-12-04 15:30:56

标签: angular ngfor

这是我的代码:

    <nav>
        <a [routerLink]="item.link"
            *ngFor="let item of links; let lastItem = last;"  
            *ngIf="!lastItem">
            {{item.title}}
        </a>
        <a (click)="clickOnCustomLink()">
            MY CUSTOM LINK
        </a>
        <a *ngIf="links" [routerLink]="links[links.length - 1].link">
            {{links[links.length - 1].title}}
        </a>
    </nav>

由于已知原因,我收到一个错误:

Can't have multiple template bindings on one element

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

是的,您不能在一个角度元素上使用多个结构指令

使用ng-container来运行for循环(在DOM中不渲染ng容器):

<ng-container *ngFor="let item of links; let lastItem = last;"  >
    <a [routerLink]="item.link" *ngIf="!lastItem">
        {{item.title}}
    </a>
<ng-container>

答案 1 :(得分:2)

不能在一个元素上添加两个结构指令。创建一个新的ng-container并将ngFor移到那个

   <ng-container [routerLink]="item.link" *ngFor="let item of links; let lastItem = last;" >
        <a [routerLink]="item.link" *ngIf="!lastItem">
               {{item.title}}
         </a> 
    </ng-container>