我正在使用角度6。
我有一个类似下面的html。
<div class="catalog-menus-subnav-wrapper"
*ngIf="showMenus">
<div class="hidden-elem">
</div>
</div>
在这里,默认情况下showMenus将为false,并在同一页面中单击按钮时将其设置为true。
现在,我正在尝试将showMenus设置为true后立即将此div调整为角度,但有时由于dom尚未完全加载而没有得到。
public onClick(event) {
this.showMenus= true;
const item= $(event.currentTarget);
const wrapper = item.next('.catalog-menus-subnav-wrapper');
const height= item.closest('.hidden-elem').height();
}
这里,item.next('。catalog-menus-subnav-wrapper')有时不返回值,因为在执行此操作时未完成DOM加载。将showMenus设置为true后,有什么方法可以等待DOM加载吗?或者,还有其他解决方法吗?
谢谢
答案 0 :(得分:2)
尝试使用隐藏,如果使用 ngIf ,则它将从DOM中删除元素
在下面尝试一下
在.html
<div class="catalog-menus-subnav-wrapper" [hidden]="!showMenus">
<div class="hidden-elem">
</div>
</div>