我已经在这里读了一些答案,比如这个,但我的问题略有不同.我想将组件作为DOM元素,以便我可以在其上添加/删除一些CSS类.
我的HTML模板包含组件:
我的类包含对它的引用:
@ViewChild('sidenav') sidenav: ElementRef;
但是当我登录我this.sidenav
的一个函数时,我发现它是一个Sidenav组件类的表示,而不是它的DOM表示.为什么会这样?
您可以使用read
参数指定所需内容:
@ViewChild('sidenav', {read: ElementRef}) sidenav: ElementRef;
通过这种方式,您ElementRef
可以使用this.sidenav.nativeElement
@joshrathke提到的内容
或(对于其他用例)
@ViewChild('sidenav', {read: ViewContainerRef}) sidenav: ElementRef;
我对你喜欢的问题的回答也提到了这个read
参数/sf/ask/17360801/