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中调用无法正确工作,因为组件尚未完全初始化并渲染。

相关内容

热门资讯

黑科技规律(wepoke计算辅... 黑科技规律(wepoke计算辅助)外挂透视辅助教程(透视)确实有挂(黑科技教程)1、任何wepoke...
德州ai购买!德州ai智能辅助... 德州ai购买!德州ai智能辅助是什么,(德州)原来有挂,wepoke教程(黑科技插件)1、下载好德州...
黑科技ai代打(德州ai辅助软... 黑科技ai代打(德州ai辅助软件)外挂黑科技辅助器(透视)总是真的有挂(黑科技脚本)1、许多玩家不知...
德扑之星ai代打真假!德扑之星... 德扑之星ai代打真假!德扑之星软件可靠吗,(德扑ai)总是真的是有挂,可靠技巧(黑科技插件)一、德扑...
黑科技模拟器(wpk透视辅助工... 黑科技模拟器(wpk透视辅助工具)外挂透视辅助器(透视)真是有挂(黑科技黑科技)1、wpk透视辅助工...
wpk辅助器小程序!wpk到底... wpk辅助器小程序!wpk到底有没有外挂,(WpK)好像存在有挂,安装教程(黑科技攻略)wpk到底有...
黑科技代打(德扑起手牌胜率图)... 黑科技代打(德扑起手牌胜率图)外挂黑科技辅助技巧(透视)好像真的是有挂(黑科技教程)1、下载好德扑起...
微扑克辅助算牌器!微扑克ai辅... 微扑克辅助算牌器!微扑克ai辅助有用嘛,(微扑克)果然有挂,AI教程(黑科技软件)在进入微扑克辅助算...
黑科技最新(wepoke算法)... 黑科技最新(wepoke算法)外挂透视辅助助手(透视)一贯真的有挂(黑科技脚本);1、wepoke算...
wpkai辅助实战效果!wpk... wpkai辅助实战效果!wpk辅助器小程序,(wPK)都是有挂,细节方法(黑科技软件)该软件可以轻松...