无法正确使用相同模板中的ngIf和ngFor。 Angular2

时间:2018-03-07 13:07:50

标签: angular ngfor angular-template ngif

    <ng-container *ngIf="selectedPlayer; else infoText">
      <div *ngFor="let playerEL of players">
          [playersTEST]="playerEL"
          (playerWasSelected)="onPlayerSelected(playerEL)">
      </div>

    </ng-container>

  </app-stats>

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

代码中的小错字。您需要正确重新格式化DIV代码,如下所示

create view v2(id2 comment 'vemp id', name2 comment 'vemp name') as select * from another_table;

+-----------+------------+------------+--+
| col_name  | data_type  |  comment   |
+-----------+------------+------------+--+
| id2       | int        | vemp id    |
| name2     | string     | vemp name  |
+-----------+------------+------------+--+

然后按照@windmaomao的建议实现你的IF ELSE。

答案 1 :(得分:2)

他们在Angular2 +中确实存在一些冲突。 Angular2不支持同一元素上的多个结构指令。所以你可以将它们分成两个元素。

<ng-container *ngIf="selectedPlayer else infoText">
    <div *ngFor="let playerEL of players"></div>
</ng-container>
<ng-container #infoText>
    No records.
</ng-container>

ng-container可以避免创建额外的div,否则您可以使用ng-template

答案 2 :(得分:-1)

看起来您的指令尚未实例化或识别。检查指令选择器或是否将其添加到模块中,或者将指令的模块添加到组件模块中。