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

相关内容

热门资讯

wpk辅助外挂,wpk科技是真... wpk辅助外挂,wpk科技是真的吗,智星德州辅助器1、wpk科技是真的吗ai机器人多个强度级别选择2...
线上wpk到底有没有外挂,wp... 线上wpk到底有没有外挂,wpk辅助效果实测,智星德州菠萝外挂是一款可以让一直输的玩家,快速成为一个...
wepoke辅助工具的使用教程... wepoke辅助工具的使用教程,wepoke黑科技功能,智星德州菠萝开挂是一款可以让一直输的玩家,快...
德州之星有辅助挂吗,wepok... 德州之星有辅助挂吗,wepoke辅助透,苹果菠萝德州辅助神器;是一款可以让一直输的玩家,快速成为一个...
德扑之星发牌规律,wpk微扑克... 德扑之星发牌规律,wpk微扑克辅助工具,智星德州菠萝怎么看有没有开挂1)wpk微扑克辅助工具辅助挂:...
德扑ai工具,wepoke软件... 德扑ai工具,wepoke软件规律,智星德州菠萝有挂吗1.wepoke软件规律 ai辅助创建新账号,...
德扑之星辅牌软件,wepoke... 德扑之星辅牌软件,wepoke德州扑克安卓下载,智星德州菠萝有挂吗1)wepoke德州扑克安卓下载辅...
wpk德州职业代打,wepok... wpk德州职业代打,wepoke辅助挂,智星德州菠萝辅助工具1、构建自己的微扑克辅助插件;2、选择您...
wepoke有app软件吗,w... wepoke有app软件吗,wepoke透视挂靠谱吗,苹果菠萝德州辅助神器;wepoke有app软件...
微扑克有透视挂吗,wepoke... 微扑克有透视挂吗,wepoke挂真的假的,苹果菠萝德州辅助神器1、超多福利:超高返利,海量正版游戏,...