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确实有... 黑科技插件!wepoke确实有挂,德州之星辅助软件,普及教程(有挂介绍)-哔哩哔哩1)德州之星辅助软...
黑科技ai代打!wpk有透视辅... 黑科技ai代打!wpk有透视辅助吗,wepoke黑科技ai,教你教程(有挂黑科技)-哔哩哔哩;人气非...
黑科技ai辅助!红龙扑克辅助器... 您好,红龙扑克辅助器安全吗这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
黑科技透视!德州之星app辅助... 黑科技透视!德州之星app辅助器,德扑之星记牌器,安装教程(有挂攻略)-哔哩哔哩,您好,德州之星ap...
黑科技辅助!wepoke透明挂... 黑科技辅助!wepoke透明挂操作技巧,wepower辅助器,爆料教程(有挂教程)-哔哩哔哩1、许多...
黑科技神器!wepoke插件,... 黑科技神器!wepoke插件,aapoker辅助器是真的吗,安装教程(有挂详情)-哔哩哔哩1、金币登...
黑科技ai辅助!wpok透牌器... 黑科技ai辅助!wpok透牌器,wepoke辅助机器人,2025新版教程(有挂方法)-哔哩哔哩1、超...
黑科技ai代打!德扑之星辅助工... 黑科技ai代打!德扑之星辅助工具,智星德州菠萝辅助,微扑克教程(有挂详情)-哔哩哔哩;致您一封信;亲...
黑科技挂!aapoker辅助软... 黑科技挂!aapoker辅助软件,德扑之星有规律吗,德州论坛(有挂辅助挂)-哔哩哔哩;是一款可以让一...
黑科技机器人!微扑克有脚本吗,... 您好,红龙扑克辅助器使用教程这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...