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以重新计算动画。

相关内容

热门资讯

透视玄学(wepoKE)透明挂... 1、透视玄学(wepoKE)透明挂辅助神器(wepokeai代打)都是存在有挂(详细透视微扑克教程)...
德扑之星作弊!gg扑克正规吗,... 德扑之星作弊!gg扑克正规吗,wpk德州辅助,解说技巧(有挂方法)是一款可以让一直输的玩家,快速成为...
透视安卓版(WepOke)透视... 透视安卓版(WepOke)透视辅助工具(wepoke的确有挂)起初是真的有挂(详细透视2025教程)...
wepoke黑科技!wepow... wepoke黑科技!wepower插件,wopoker手机辅助,专业教程(有挂技巧)1)wepoke...
透视教程(WEpoke)外挂透... 此外,数据分析德州(WePoKe透视挂)辅助神器app还具备辅助透视行为开挂功能,通过对客户WePo...
aapoker猫腻!微扑克ai... aapoker猫腻!微扑克ai机器人,wepower有辅助软件,透明挂教程(有挂方法)1、很好的工具...
透视新版(WepoKe)透明挂... 透视新版(WepoKe)透明挂辅助神器(wepower辅助器)总是真的有挂(详细透视微扑克教程)1、...
aapoker有猫腻!wpk微... aapoker有猫腻!wpk微扑克模拟器,德扑之星app发牌规律,必备教程(有挂详情);小薇(透视辅...
透视插件(wePOke)外挂透... 透视插件(wePOke)外挂透明挂辅助器(wepoke插件)起初是真的有挂(详细透视新版2025教程...
微扑克游戏辅助器!wopoke... 微扑克游戏辅助器!wopoker德州真的有挂吗,德扑之星可以在电脑上玩,系统教程(有挂辅助挂)1)微...