'talvez outros de componentes ou diretivas aplicadas a essa tag': como podemos obter a lista completa de tipos possíveis?
Ghetolay
As diretivas e componentes listados em directives: [...]do componente atual ou PLATFORM_DITECTIVESonde um seletor corresponde. Você pode usar stackoverflow.com/questions/35233572/… para investigar um aplicativo em execução.
Günter Zöchbauer
3
Isso só oferece suporte a tipos angulares associados a um nó. HTMLElementnão é um deles. ElementRefpermite acessar o HTMLElement usando `ElementRef.nativeElement.
Günter Zöchbauer
1
Apenas tentando todos os tipos de coisas e investigando a fonte do Angular2.
Günter Zöchbauer
1
Você não pode quando o elemento é um componente. Você só pode especificar o que deseja se usar@ViewChild(... read: ElementRef) ...
Respostas:
Pode haver várias instâncias de vários tipos associados à tag de elemento com a
#myname
variável de modelo.Para cada elemento existe um
ElementRef
eViewContainerRef
(talvez outros de componentes ou diretivas aplicadas a essa tag).Se o elemento for um componente, existe a instância do componente.
Também pode haver uma ou várias diretivas aplicadas ao elemento
Com
{read: SomeType}
você informa qual tipo deve ser retornado do elemento com a#myname
variável de modelo.Se você não fornecer o
read
parâmetro,@ViewChild()
retorna oElementRef
instância se não houver nenhum componente aplicado, ou oread
.Veja também Como posso selecionar um elemento em um template de componente?
fonte
directives: [...]
do componente atual ouPLATFORM_DITECTIVES
onde um seletor corresponde. Você pode usar stackoverflow.com/questions/35233572/… para investigar um aplicativo em execução.HTMLElement
não é um deles.ElementRef
permite acessar o HTMLElement usando `ElementRef.nativeElement.@ViewChild(... read: ElementRef) ...