J'essaie de définir par défaut la première occurrence dans cet exemple: plunkr
obtenir l'erreur suivante:
Unhandled Promise rejection: Template parse errors:
TypeError: Cannot read property 'toUpperCase' of undefined ("dButtonToggleGroup">
<md-button-toggle [ERROR ->]*ngFor="let indicador of indicadores; #first = first" value="indicador.id" [checked]="first">
"): ng:///AppModule/HomeComponent.html@35:78
Parser Error: Unexpected token #, expected identifier, keyword, or string at column 31 in [let indicador of indicadores; #first = first] in ng:///AppModule/HomeComponent.html@35:78 (" <md-button-toggle *ngFor="let indicador of indicadores; #first = first" value="indicador.id" [ERROR ->][checked]="first">
<span>{{ indicado"): ng:///AppModule/HomeComponent.html@35:153
qu'est-ce qui ne va pas??
Découvrez ceci plunkr .
Lorsque vous vous liez à des variables, vous devez utiliser les crochets. En outre, vous utilisez le hashtag lorsque vous souhaitez obtenir des références à des éléments de votre code HTML, et non pour déclarer des variables à l'intérieur de modèles comme celui-ci.
<md-button-toggle *ngFor="let indicador of indicadores; let first = first;" [value]="indicador.id" [checked]="first">
...
Edit: Merci à Christopher Moore : Angular expose les variables locales suivantes:
index
first
last
even
odd
Voici comment cela se fait dans Angular 6
<li *ngFor="let user of userObservable ; first as isFirst">
<span *ngIf="isFirst">default</span>
</li>
Notez le passage de let first = first
à first as isFirst