Angular动画:组件在触发动画之前被销毁。
创始人
2024-10-24 14:00:54
0

一个可能的解决方法是将动画触发放在ngAfterViewInit生命周期钩子中执行,而不是ngOnInit中。这样可以确保组件已经初始化并完全渲染,不会在动画触发之前被销毁。 示例代码:

import { Component, AfterViewInit, ViewChild, ElementRef } from '@angular/core'; import { trigger, state, style, animate, transition } from '@angular/animations';

@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'], animations: [ trigger('myAnimation', [ state('start', style({ opacity: 1 })), state('end', style({ opacity: 0 })), transition('start => end', [ animate('1s') ]) ]) ] }) export class MyComponent implements AfterViewInit { @ViewChild('myElement') myElement: ElementRef;

ngOnInit() { // This won't work because the element hasn't been rendered yet this.myElement.nativeElement.classList.toggle('myClass'); this.triggerAnimation(); }

ngAfterViewInit() { // This will work because the element has been rendered this.myElement.nativeElement.classList.toggle('myClass'); this.triggerAnimation(); }

triggerAnimation() { this.state = 'end'; } }

在这个示例中,我们在ngAfterViewInit的生命周期钩子中调用triggerAnimation()方法来触发动画。在ngOnInit中调用无法正确工作,因为组件尚未完全初始化并渲染。

相关内容

热门资讯

出现新变化!hhpoker到底... 出现新变化!hhpoker到底可以辅助码,hhpoker为什么一直输(透视)揭幕教程(真是有挂)-哔...
透视教程!德普之星透视辅助,s... 透视教程!德普之星透视辅助,sohoopoker辅助(透视)揭露教程(讲解有挂)-哔哩哔哩1)德普之...
来临!wepoker破解器有用... 您好,wepoker破解器有用吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
更值得关注的是!aapoker... 更值得关注的是!aapoker辅助器是真的吗,拱趴大菠萝自动计算机器人(透视)有挂教程(有挂神器)-...
据玩家消息!约局吧怎么看有没有... 据玩家消息!约局吧怎么看有没有挂,wpk辅助器是真的吗(透视)透视教程(有挂方法)-哔哩哔哩1、进入...
透视挂透视!wepoker怎么... 透视挂透视!wepoker怎么设置盖牌,wepoker有没有机器人(透视)曝光教程(新版有挂)-哔哩...
近日!wpk透视辅助下载,hh... 近日!wpk透视辅助下载,hhpoker辅助实战视频(透视)教你教程(有挂工具)-哔哩哔哩1、hhp...
透视了解!wpk私人局辅助是真... 透视了解!wpk私人局辅助是真的吗,aapoker辅助软件合法吗(透视)曝光教程(有挂秘笈)-哔哩哔...
透视科技!wpk私人辅助,we... 透视科技!wpk私人辅助,wepoker插件程序激活码(透视)解迷教程(有挂详细)-哔哩哔哩该软件可...
透视了解!hhpoker辅助软... 透视了解!hhpoker辅助软件下载,wepoker有没有插件(透视)详情教程(新版有挂)-哔哩哔哩...