Заказ пользовательских элементов в директиве * ngFor - PullRequest
0 голосов
/ 04 декабря 2018

Это мой код:

    <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 голосов
/ 04 декабря 2018

не может добавить две структурные директивы на один элемент.Создайте новый 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>
0 голосов
/ 04 декабря 2018

Да, вы не можете использовать более одной структурной директивы для одного углового элемента

Вместо этого используйте ng-container для запуска цикла for (ng-контейнеры не отображаются в вашей DOM):

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