5

I want to use ngIf and ngFor in one line. I know it is not possible but is there any other method to do this?

Here is my code:

<option *ngIf="tmpLanguage.id!=languages.id" 
        *ngFor="let tmpLanguage of languages" [ngValue]="tmpLanguage.id">
     {{tmpLanguage.identificatie}}
</option>
yurzui
  • 205,937
  • 32
  • 433
  • 399
C.B.
  • 310
  • 1
  • 2
  • 18

2 Answers2

37

Only one structural directive is allowed on one element at a time.

As a workaround you can use <ng-container> which is not stamped to the DOM

<ng-container *ngFor="let tmpLanguage of languages">
  <option *ngIf="tmpLanguage.id!=languages.id"  [ngValue]="tmpLanguage.id" >{{tmpLanguage.identificatie}}</option>
</ng-container>
Günter Zöchbauer
  • 623,577
  • 216
  • 2,003
  • 1,567
3
<ng-container *ngFor="let tmpLanguage of languages">
  <option *ngIf="tmpLanguage.id!=languages.id" [ngValue]="tmpLanguage.id" >
    {{tmpLanguage.identificatie}}
  </option>
</ng-container>
yurzui
  • 205,937
  • 32
  • 433
  • 399