ElementRef上的Angular2 getElementsByClassName

Sci*_*ion 4 typescript angular

我的组件中有以下构造函数:

constructor (private el: ElementRef) {this.el = el.nativeElement}
Run Code Online (Sandbox Code Playgroud)

然后在我的ngOnInit:

ngOnInit() {
 let foos = this.el.getElementsByClassName('foo')
}
Run Code Online (Sandbox Code Playgroud)

触发器: TS2339: Property 'getElementsByClassName' does not exist on type 'ElementRef'.

我确实尝试过将我转换ElementRef为一个HTMLElement没有任何成功.知道如何处理这个错误吗?

Gün*_*uer 8

删除private:

el:HtmlElement;
constructor (el: ElementRef) {this.el = el.nativeElement}
Run Code Online (Sandbox Code Playgroud)

您的原始代码this.el将被声明为类型,ElementRef但随后HTMLElement将分配.这就是您收到错误消息的原因.