Angular2 Comment obtenir la référence des éléments HTML générés dynamiquement
J'ai cette entrées générées dynamiquement:
<div *ngFor="let cell of column; let i = index;">
<!-- Material design input-->
<md-input id="my-input-{{i}}">
</md-input>
</div>
Veuillez noter id=my-input-{{i}}
je voudrais obtenir une référence à l'élément DOM basé sur cette dynamique id. Cette entrée peut être de 3, 6 entrées ou plus, donc j'ai besoin d'accéder à l'id de façon dynamique et obtenir une prise de.
source d'informationauteur commonSenseCode | 2016-11-10
Vous devez vous connecter pour publier un commentaire.
La seule réponse est
let elem:Element = document.getElementById("myProgrammaticallyChosenIndex")
Pas d'autres angulaire bizarre cérémonie nécessaires
Testé sur angulaire 4+
Utilisation
ElementRef
classe de@angular/core
pour obtenir le parent de l'élément, puis de créer unHTMLElement
pour obtenir son dynamique des éléments par nom de classe.Composant:
Travail Plunker
Edit: j'ai utilisé
jQuery
seulement pour la démonstration rapide but ici. Sinon, vous ne devez pas utiliserjQuery
avecAngular
.Il y a une classe appelée ElementRef classe
Il donne à votre permis d'accès direct à l'élément ou de la directive hébergement DOM.
Vous pouvez utiliser
ElementRef.nativeElement
pour obtenir un élément HTML, vous pouvez accéder à l'élément html propriétés pour effectuer votre modification à l'aide dejQuery
ouRendu
classe fournie par Angulaire 2.Exemple avec
ElementRef
etRenderer
:Vous aurez accès au DOM par le elementRef.
Injecter jeter votre constructeur par
Et de l'accès à l'élément DOM par le nativeElement propriété