javascript - 如何将 jQuery addClass 代码转换为 Angular
问题描述
我有以下 jQuery 代码,用于在单击提交按钮时向注册表单添加一些动画。
setTimeout(() => {
$('#new-user-layout').addClass('animate__fadeOut')
}, 1000)
setTimeout(() => {
$('#new-user-layout').addClass('hidden')
}, 1300)
setTimeout(() => {
$('#new-user-layout').removeClass('animate__fadeOut')
$('.app-login_form-layout').css({ 'height': '28rem', 'width': '25rem' })
}, 1600)
setTimeout(() => {
$('#user_credentials').removeClass('hidden')
$('#user_credentials').addClass('animate__fadeIn')
}, 2000)
setTimeout(() => {
$('#user_credentials').removeClass('animate__fadeIn')
}, 2300)
现在这是我需要转换为 Angular 代码的 HTML 模板。如何以 Angular 方式添加这些动画类?
我尝试使用[ngClass]
,但它无法正常工作。
解决方案
您可以使用ViewChild
,ElementRef
如下Renderer2
所示
@ViewChild("newuserlayout") newuserlayout: ElementRef;
constructor(private renderer: Renderer2) {}
ngOnInit() {
setTimeout(() => {
debugger;
this.renderer.addClass(
this.newuserlayout.nativeElement,
"animate__fadeOut"
);
}, 1000);
}
演示https://stackblitz.com/edit/angular-viewchild-elementref-render2
推荐阅读
- react-native - scrollToIndex 在 RTL FlatList React-Native 中不起作用
- tomcat - 使用 NGINX 的 Tomcat HA 集群设置
- php - PHP excel面临一些烦人的问题
- node.js - 本地主机上的连接被拒绝
- typescript - 如何在打字稿上声明类道具?
- nginx - Robots.txt 不应重定向到 HTTPS
- mysql - Docker + Mysql ConnectionError:未知的 MySQL 服务器主机 'db'
- asp.net-core - 无法在 ASP.NET Core MVC 中更新图像
- azure - 由于异常无法加载文件或程序集“Microsoft.ApplicationInsights”,应用服务突然停止工作
- inheritance - Kotlin 在类层次结构中静态和非静态访问成员的方法是什么?