angular - Angular2 getElementsByClassName på ElementRef


Jeg har følgende konstruktør i min komponent:

constructor (private el: ElementRef) {this.el = el.nativeElement}

da i min ngOnInit :

ngOnInit() {
 let foos = this.el.getElementsByClassName('foo')
}

utløser: TS2339: Egenskapen 'getElementsByClassName' finnes ikke på typen 'ElementRef'.

Jeg prøvde å konvertere min ElementRef til et HTMLElement uten suksess. Har du noen idé om hvordan man kan håndtere den feilen?

Svar #1

Fjern private:

el:HtmlElement;
constructor (el: ElementRef) {this.el = el.nativeElement}

Med din originale kode this.el vil bli deklarert som type ElementRef, men så vil en HTMLElement bli tildelt. Dette er grunnen til at du får feilmeldingen.

Relaterte artikler