我知道有类似的问题,例如this one,但他们没有解决我的问题
在我的角度应用程序中,我尝试在mouseenter上执行某些操作,因此我已将此代码设置为...
component.ts menu:AppMenu = null;
ngOnInit() {
this.menu = this._appNavigationService.getMenu();
const menu = <HTMLElement>document.querySelector('#m_ver_menu');
const subheading = <HTMLElement>document.querySelector('#sub-menu');
menu.addEventListener('mouseenter', () => {
subheading.style.height = '100%';
});
}
component.html
<div id="sub-menu" *ngIf="menuItem.items.length">...</div>
component.scss
#sub-menu{
height: 0;
overflow: hidden;
}
但由于某种原因,当我mouseenter
menu
时,我一直收到此错误ERROR TypeError: Cannot read property 'style' of null at HTMLDivElement.eval
,因此它找到了#menu
元素,所以我不确定为什么它找不到其他元素我选择了..我认为一定是因为*ngIf
没有被它试图找到元素的时候触发,有没有办法等待* ngIf通过然后'得到'我尝试过这个元素。
ngOnInit() {
this.menu = this._appNavigationService.getMenu();
// hover effects
const menu = <HTMLElement>document.querySelector('#m_ver_menu');
if (this.menu.items.length) {
const subheading = <HTMLElement>document.querySelector('#sub-menu');
menu.addEventListener('mouseenter', () => {
subheading.style.height = '100%';
});
}
}
但这也不起作用,我得到同样的错误
我有什么遗失吗?
任何帮助将不胜感激
由于