Dem Element-Tag mit der #mynameVorlagenvariablen können mehrere Instanzen verschiedener Typen zugeordnet sein .
Für jedes Element gibt es ein ElementRefundViewContainerRef (möglicherweise andere aus Komponenten oder Anweisungen, die auf dieses Tag angewendet werden).
Wenn das Element eine Komponente ist, gibt es die Komponenteninstanz.
Es können auch eine oder mehrere Anweisungen auf das Element angewendet werden
Mit geben {read: SomeType}Sie an, welcher Typ vom Element mit der #mynameVorlagenvariablen zurückgegeben werden soll.
Wenn Sie den readParameter nicht angeben, wird @ViewChild()der zurückgegeben
ElementRef Instanz, wenn keine Komponente angewendet wird, oder die
Komponenteninstanz, falls vorhanden.
Wenn Sie etwas anderes erhalten möchten, müssen Sie explizit using angeben read.
'Vielleicht andere aus Komponenten oder Anweisungen, die auf dieses Tag angewendet werden': Wie können wir die vollständige Liste der möglichen Typen erhalten?
Ghetolay
Die Anweisungen und Komponenten, die in directives: [...]der aktuellen Komponente aufgeführt sind oder in PLATFORM_DITECTIVESdenen ein Selektor übereinstimmt. Sie können stackoverflow.com/questions/35233572/… verwenden , um eine laufende Anwendung zu untersuchen.
Günter Zöchbauer
3
Dies unterstützt nur Winkeltypen, die einem Knoten zugeordnet sind. HTMLElementist keiner von ihnen. ElementRefermöglicht den Zugriff auf das HTMLElement mit `ElementRef.nativeElement.
Günter Zöchbauer
1
Probieren Sie einfach alle möglichen Dinge aus und untersuchen Sie die Angular2-Quelle.
Günter Zöchbauer
1
Sie können nicht, wenn das Element eine Komponente ist. Sie können nur angeben, was Sie wollen, wenn Sie verwenden@ViewChild(... read: ElementRef) ...
Antworten:
Dem Element-Tag mit der
#myname
Vorlagenvariablen können mehrere Instanzen verschiedener Typen zugeordnet sein .Für jedes Element gibt es ein
ElementRef
undViewContainerRef
(möglicherweise andere aus Komponenten oder Anweisungen, die auf dieses Tag angewendet werden).Wenn das Element eine Komponente ist, gibt es die Komponenteninstanz.
Es können auch eine oder mehrere Anweisungen auf das Element angewendet werden
Mit geben
{read: SomeType}
Sie an, welcher Typ vom Element mit der#myname
Vorlagenvariablen zurückgegeben werden soll.Wenn Sie den
read
Parameter nicht angeben, wird@ViewChild()
der zurückgegebenElementRef
Instanz, wenn keine Komponente angewendet wird, oder dieread
.Siehe auch Wie kann ich ein Element in einer Komponentenvorlage auswählen?
quelle
directives: [...]
der aktuellen Komponente aufgeführt sind oder inPLATFORM_DITECTIVES
denen ein Selektor übereinstimmt. Sie können stackoverflow.com/questions/35233572/… verwenden , um eine laufende Anwendung zu untersuchen.HTMLElement
ist keiner von ihnen.ElementRef
ermöglicht den Zugriff auf das HTMLElement mit `ElementRef.nativeElement.@ViewChild(... read: ElementRef) ...