이 예제에서 첫 번째 항목을 기본값으로 설정하려고합니다. 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">
...
편집 : 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
답변
이것 *ngFor
으로 ANGULAR의 루프에서 모든 인덱스를 얻을 수 있습니다 …
<ul>
<li *ngFor="let object of myArray; let i = index; let first = first ;let last = last;">
<div *ngIf="first">
// write your code...
</div>
<div *ngIf="last">
// write your code...
</div>
</li>
</ul>
이 별칭을 다음에서 사용할 수 있습니다. *ngFor
index
:number
:let i = index
객체의 모든 인덱스를 가져옵니다.first
:boolean
:let first = first
객체의 첫 번째 인덱스를 가져옵니다.last
:boolean
:let last = last
객체의 마지막 색인을 가져옵니다.odd
:boolean
:let odd = odd
개체의 홀수 인덱스를 가져옵니다.even
:boolean
:let even = even
객체의 인덱스를 가져옵니다.