Angular动画第一次能正常运行,但不会在后续调用中运行。
创始人
2024-10-24 13:01:39
0

这可能是由于使用了changeDetection策略'OnPush”的组件导致的。在这种情况下,动画只会在组件输入发生更改时重新计算,并在此基础上运行。因此,如果组件未检测到输入更改,则动画将不再运行。

要解决这个问题,请确保在组件中更改了输入,以通知Angular启动动画。您可以使用RxJs的行为主题来进行此操作。例如,您可以在组件中添加以下内容:

import { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core'; import { BehaviorSubject } from 'rxjs';

@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'], changeDetection: ChangeDetectionStrategy.OnPush }) export class MyComponentComponent implements OnInit { @Input() data: any; animationSubject = new BehaviorSubject(false);

constructor() { }

ngOnInit() { }

ngAfterViewInit() { this.animationSubject.next(true); }

triggerAnimation() { this.animationSubject.next(false); setTimeout(() => { this.animationSubject.next(true); }, 0); } }

此代码利用了RxJs的行为主题,每次更改数据输入时都会通知更改检测。此外,在调用动画时,我们将先将主题设置为false,然后立即将其重置为true以重新计算动画。

相关内容

热门资讯

透视软件!椰岛常胜辅助器(透视... 您好:hhpoker软件安装包这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
2024教程!wepoker透... 2024教程!wepoker透视脚本免费(透视)wepoker安装教程(分享教程有挂详细);无需打开...
每日必备!欢乐对决脚本(透视)... 每日必备!欢乐对决脚本(透视)hhpoker辅助软件(德州教程有挂猫腻)您好:hhpoker辅助软件...
查到实测!浙江宝宝游戏辅助器哪... 浙江宝宝游戏辅助器哪里能下载 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四...
玩家必备攻略!广东闲来辅助软件... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
透视智能ai!相约十三张辅助(... wepoker私人局俱乐部怎么进 无需打开直接搜索微信:136704302本司针对手游进行,选择我们...
揭秘几款!如何设置钱塘十三水辅... 揭秘几款!如何设置钱塘十三水辅助器(透视)wepoker有机器人吗(2026新版有挂方针);无需打开...
透视辅助!威胁你小程序雀神挂件... 透视辅助!威胁你小程序雀神挂件(透视)wejoker手机版透视脚本(2026版教程有挂存在) 了解更...
透视教学!欢乐情怀怎么开挂(透... 大家好,今天小编来为大家解答欢乐情怀怎么开挂这个问题咨询软件客服可以免费测试直接加微信(136704...
分享一款!山西扣点点脚本辅助器... 分享一款!山西扣点点脚本辅助器(透视)hhpoker有后台操控吗(高科技教程真实有挂)1、下载安装好...