gpt4 book ai didi

javascript - Angular 6 - 在将 ngIf 设置为 true 时等待元素加载到 *ngIf 中

转载 作者:行者123 更新时间:2023-11-27 23:00:51 27 4
gpt4 key购买 nike

我正在使用 Angular 6。

我有一个如下所示的 html。

<div class="catalog-menus-subnav-wrapper"
*ngIf="showMenus">
<div class="hidden-elem">
</div>
</div>

此处,showMenus 默认为 false,并在单击同一页面中的按钮时将其设置为 true。

现在,我试图在将 showMenus 设置为 true 后立即以 Angular 获取此 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 加载吗?或者,还有其他解决方法吗?

谢谢

最佳答案

尝试使用hidden,如果你使用ngIf那么它会从DOM中移除元素

试试下面这个,

.html

<div class="catalog-menus-subnav-wrapper" [hidden]="!showMenus">
<div class="hidden-elem">
</div>
</div>

关于javascript - Angular 6 - 在将 ngIf 设置为 true 时等待元素加载到 *ngIf 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52510330/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com