Estou tentando definir como padrão a primeira ocorrência neste exemplo: plunkr
obtendo o seguinte erro:
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
o que está errado??
angular
angular-material
PriNcee
fonte
fonte
let i = index
, apenas altere paralet first = first;
e altere a vinculação [marcada] para apenas marcar "primeiro" em vez de "i == 0".ngFor
expõe angular as seguintes variáveis locaisindex
,first
,last
,even
eodd
. Você poderia atualizar a resposta para esclarecer este ponto para futuros usuários?let first = first
você pode escreverfirst as isFirst
(isFirst é a variável personalizada) conforme descrito aqui: angular.io/api/common/NgForOf#local-variablesAqui está como é feito no Angular 6
Observe a mudança de
let first = first
parafirst as isFirst
fonte
|
pelo;
para que funcione.let first = first
efirst as isFirst
ambas as declarações estão corretas para uso, o segundo alias é bastante legívelCom isso você pode obter qualquer índice em
*ngFor
loop em ANGULAR ...Podemos usar esses alias em
*ngFor
index
:number
:let i = index
Para obter todas índice do objeto.first
:boolean
:let first = first
Para obter primeiro índice de objeto.last
:boolean
:let last = last
Para obter último índice de objeto.odd
:boolean
:let odd = odd
Para obter índice ímpar de objeto.even
:boolean
:let even = even
Para obter ainda o índice de objeto.fonte