web-dev-qa-db-fra.com

angular viewChild pour les éléments dynamiques à l'intérieur de ngFor

Mon modèle a quelque chose comme ceci:

<div *ngFor="let data of array">
    <div #div></div>
</div>

existe-t-il un moyen pour moi de nommer chaque div différemment en utilisant le #? Et si oui, comment puis-je y accéder plus tard dans mon fichier TS?

au fait, comment s'appellent ces #? Je ne peux pas les rechercher car j'ai maintenant une idée de ce que c'est (je sais juste à quoi ils servent)

12
Gustavo Berwanger

Comme l'a mentionné @Commerical Suicide, vous ne pouvez pas définir les références de manière dynamique.

Le #div Est appelé variable de référence du modèle .

Vous pouvez accéder à vos divs via ViewChildren dans votre fichier *.ts.

Exemple: @ViewChildren('div') divs: QueryList<ElementRef>

Ensuite, vous pouvez appeler plusieurs méthodes sur votre nouveau QueryList, comme forEach ou find.

13
Batajus