在 Angular 中 CSS 转换后呈现 JS
Rendering JS after CSS transition in Angular
所以我有一个按钮,单击时会调用 onGoToAbout
函数。此函数将元素高度设置为 0,并将 desk
布尔变量设置为 false
。此变量连接到元素 *ngIf
。
我的问题是 *ngIf
在我的 CSS 转换发生之前执行。我在想我需要某种延迟,但不知道如何实现!
下面是我的代码。使用 jQuery 不是一个选项。
onGoToAbout(event) {
document.getElementById("slideshow").style.height = "0vh";
this.desk = false;
}
简单地延迟 this.desk = false
超时:
setTimeout( () => { this.desk = false }, 500 )
这样,您的 CSS 转换将执行,然后在 500 毫秒后,变量将设置为 false。
此外,当然 jQuery 不是 Angular 应用程序中的一个选项 :) document.getElementById
甚至不应该被使用,因为它不是 angular-y , 但假设它只是为了执行 CSS 转换,没关系。
所以我有一个按钮,单击时会调用 onGoToAbout
函数。此函数将元素高度设置为 0,并将 desk
布尔变量设置为 false
。此变量连接到元素 *ngIf
。
我的问题是 *ngIf
在我的 CSS 转换发生之前执行。我在想我需要某种延迟,但不知道如何实现!
下面是我的代码。使用 jQuery 不是一个选项。
onGoToAbout(event) {
document.getElementById("slideshow").style.height = "0vh";
this.desk = false;
}
简单地延迟 this.desk = false
超时:
setTimeout( () => { this.desk = false }, 500 )
这样,您的 CSS 转换将执行,然后在 500 毫秒后,变量将设置为 false。
此外,当然 jQuery 不是 Angular 应用程序中的一个选项 :) document.getElementById
甚至不应该被使用,因为它不是 angular-y , 但假设它只是为了执行 CSS 转换,没关系。