错误TypeError:无法读取未定义的Angular 4的属性“nativeElement”

时间:2018-05-24 15:08:27

标签: javascript html angular viewchild

我在这个帖子中尝试了前两个答案here以及延迟尝试ngAfterViewInit()并仍然得到ERROR 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>

0 个答案:

没有答案