There can be several instances of various types associated with the element tag with the #myname
template variable.
For each element there is an ElementRef
and ViewContainerRef
(maybe others from components or directives applied to that tag).
If the element is a component, then there is the component instance.
There can also be one or several directives applied to the element
With {read: SomeType}
you tell what type should be returned from the element with the #myname
template variable.
If you don't provide the read
parameter, @ViewChild()
returns the
ElementRef
instance if there is no component applied, or the
- component instance if there is.
- If you want to get something different you need to explicitly specify using
read
.
See also How can I select an element in a component template?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…