この例の最初の出現をデフォルトとして設定しようとしています: plunkr
次のエラーが表示されます:
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
なにが問題ですか??
これを確認してください plunkr 。
変数にバインドするときは、括弧を使用する必要があります。また、このようなテンプレート内の変数を宣言するためではなく、html内の要素への参照を取得する場合は、ハッシュタグを使用します。
<md-button-toggle *ngFor="let indicador of indicadores; let first = first;" [value]="indicador.id" [checked]="first">
...
Edit:Christopher Moore :ありがとう:Angularは以下のローカル変数を公開します:
index
first
last
even
odd
Angular 6での実行方法は次のとおりです。
<li *ngFor="let user of userObservable ; first as isFirst">
<span *ngIf="isFirst">default</span>
</li>
let first = first
からfirst as isFirst
への変更に注意してください