Eu tenho um ngFor
loop simples que também mantém o controle da corrente index
. Quero armazenar esse index
valor em um atributo para que eu possa imprimi-lo. Mas não consigo descobrir como isso funciona.
Eu basicamente tenho isso:
<ul *ngFor="#item of items; #i = index" data-index="#i">
<li>{{item}}</li>
</ul>
Eu quero armazenar o valor #i
no atributo data-index
. Eu tentei vários métodos, mas nenhum deles funcionou.
Eu tenho uma demonstração aqui: http://plnkr.co/edit/EXpOKAEIFlI9QwuRcZqp?p=preview
Como posso armazenar o index
valor no data-index
atributo?
attr.
é uma sintaxe para dizer ao Angular2 para definir o valor da expressão como o nome do atributo. Não é apenas como avaliar o JSON, eu acho ;-) Veja este link: angular.io/docs/ts/latest/guide/template-syntax.htmlngFor
emli
vez doul
.No Angular 5/6/7/8:
Nas versões mais antigas
Angular.io, API e NgForOf
Exemplos de teste de unidade
Outro exemplo interessante
fonte
index as i
funciona muito bem, obrigado. Mas o*ngFor
objetivo não é repetir o elemento a ser repetido (por exemplo<li>
, neste caso)? O código que você sugeriu cria vários<ul>
pais do que vários<li>
s.index as i
é mais elegante quelet i = index
Apenas uma atualização para isso, a resposta de Thierry ainda está correta, mas houve uma atualização para o Angular2 com relação a:
O
#i = index
agora deve serlet i = index
EDIT / UPDATE:
Ele
*ngFor
deve estar no elemento que você deseja transmitir, portanto, neste exemplo, deve ser:EDITAR / ATUALIZAR
Angular 5
EDIIT / UPDATE
Angular 7/8
fonte
#item
deve serlet item
;-)Acho que já foi respondido antes, mas apenas uma correção, se você estiver preenchendo uma lista não ordenada,
*ngFor
aparecerá no elemento que você deseja repetir. Portanto, deve ser insidioso<li>
. Além disso, o Angular2 agora usa let para declarar uma variável.fonte
As outras respostas estão corretas, mas você pode omitir
[attr.data-index]
completamente e usarfonte
Você pode usar [attr.data-index] diretamente para salvar o índice no atributo data-index, disponível nas versões 2 e acima do Angular.
fonte
Tente isto
fonte
com paginação laravel
fonte