ОШИБКА TypeError: Невозможно прочитать свойство 'nativeElement' из неопределенного Angular 4 - PullRequest
0 голосов
/ 24 мая 2018

Я пробовал первые два ответа здесь в этой теме, а также пытался ngAfterViewInit() с задержкой и все еще получал ОШИБКУ TypeError: Невозможно прочитать свойство 'nativeElement' из неопределенного.Этот код работает так, как я хочу, но я все еще получаю консольные ошибки.

@ViewChild('companyDropdown') companyDropdown: ElementRef;

onOutsideClick(event:any) {
if(!this.companyDropdown.nativeElement.contains(event.target)){
  this.companyResults = null;
 }
}

ngAfterViewInit() {
console.log("afterinit");
setTimeout(() => {
  console.log(this.companyDropdown.nativeElement.innerText);
  }, 5000);
}

В моем конструкторе:

document.addEventListener('click', this.onOutsideClick.bind(this));

HTML:

<ul #companyDropdown class="search-dropdown-ul" *ngIf="companyResults && positionIndex === i">
 <li class="search-dropdown-li">{{ companyResult.name }}</li>
</ul>
...