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

相关内容

热门资讯

透视软件“上饶中至辅助插件透视... 透视软件“上饶中至辅助插件透视”原先有辅助工具(存在有挂);无需打开直接搜索加薇136704302(...
玩家必看“余干五十k装挂”起初... 余干五十k装挂是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信...
重磅来袭“玄龙大厅怎么开辅助”... 玄龙大厅怎么开辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
查到实测“破解大菠萝的辅助器”... 破解大菠萝的辅助器是一款专注玩家量身打造的游戏记牌类型软件,在破解大菠萝的辅助器这款游戏中我们可以记...
玩家爆料“指尖辅助”本来有开挂... 指尖辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信(13...
揭秘攻略“心悦怎么开挂”一向有... 心悦怎么开挂是一款专注玩家量身打造的游戏记牌类型软件,在心悦怎么开挂这款游戏中我们可以记录下每张牌的...
新手必备“九游辅助辅助在哪里”... 您好:这款九游辅助辅助在哪里游戏是可以开挂的,确实是有挂的,很多玩家在这款九游辅助辅助在哪里游戏中打...
透视代打!吉祥填大坑插件,德州... 您好:这款德州辅助工具到底怎么样游戏是可以开挂的,确实是有挂的,很多玩家在这款德州辅助工具到底怎么样...
透视脚本!顺欣茶楼辅助软件视频... 透视脚本!顺欣茶楼辅助软件视频,如何下载德普之星辅助软件(辅助挂)详细开挂辅助软件;亲,如何下载德普...
透视存在!指尖四川小程序辅助器... 指尖四川小程序辅助器是一款专注玩家量身打造的游戏记牌类型软件,在指尖四川小程序辅助器这款游戏中我们可...