2016-07-25 7 views
0

Was ist der korrekte Weg, um einen ngSwitch innerhalb eines ngFor zu verwenden?Angular 2 ngSwitch verschachtelt in ngFür

Wenn ich die folgende erhalte ich die Fehler

Got Interpolation ({{}}), in dem Ausdruck

<span *ngFor="let action of actions"> 
    <span [ngSwitch]="{{action}}"> 
     <span *ngSwitchCase='edit'>Edit</span> 
     <span *ngSwitchCase='delete'>Delete</span> 
    </span> 
</span> 

Antwort

5

In Bindungen mit (...) oder [...] Sie tun erwartet wurde, nicht müssen Sie Ihre Variable zu einer Zeichenfolge interpolieren, Sie können sie einfach verwenden, um sie zu binden.

<span [ngSwitch]="action"> 
+0

Danke. Ich habe es tatsächlich versucht, aber es schien nicht zu funktionieren, da ich die 'ngSwitchCase'-Strings nicht in Anführungszeichen gesetzt habe. – Steve

+0

Nun, da Sie es sagen - Sie haben Recht. Da 'ngSwitchCase' einen Ausdruck erwartet, müssen Sie entweder eine Variable oder eine Zeichenfolge in Anführungszeichen übergeben. – rinukkusu

+1

Nur zur Verdeutlichung für andere Leute, die hier zu Besuch sind, bedeutet Steves "doppelte Anführungszeichen" doppelte Mengen von Anführungszeichen, '' '' '' '' '' und nicht nur '' '' '' '' – Greg

Verwandte Themen