javascript - 在 Angular 中的 CSS 转换后渲染 JS
问题描述
所以我有一个按钮,单击该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 转换,那没关系。
推荐阅读
- python - Python多处理不会杀死所有子进程
- react-native - React Native:像css这样的样式之后
- mysql - LXD 从主机共享 /var/lib/mysql 到容器并映射用户/组
- xamarin.ios - Xamarin.UITest:如何选择当前节点的下一个元素
- java - 添加/删除页面时,Android FragmentStatePagerAdapter 未正确更新 ViewPager
- security - Hacking & Seucrity : 订阅 CMS 和框架升级
- c# - 车速表指针旋转统一
- android - 无限滚动列表视图 - 在构建期间调用 setState() 或 markNeedsBuild
- java - 从 MainActivity 访问一个单独的进程
- angular - ng6:在 html 中动态形成变量名