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

相关内容

热门资讯

透视安装!epoker有透视吗... 透视安装!epoker有透视吗,广东雀神智能插件安装免费,办法辅助攻略(有挂技巧)-哔哩哔哩在进入广...
据权威媒体报道!陕麻全黑科技(... 据权威媒体报道!陕麻全黑科技(辅助)切实有挂辅助安装(有挂技巧)-哔哩哔哩陕麻全黑科技透视方法中分为...
据玩家消息!方片十三张源码(辅... 据玩家消息!方片十三张源码(辅助)原来存在有辅助软件(有挂秘笈)-哔哩哔哩1)方片十三张源码免费钻石...
透视存在!约局吧app有挂吗,... 透视存在!约局吧app有挂吗,山西扣点工具,讲义辅助教程(真实有挂)-哔哩哔哩1、游戏颠覆性的策略玩...
分享透视!wepoker怎么看... 分享透视!wepoker怎么看底牌,微乐小程序游戏破解器苹果系统,教程书教程(有挂解密)-哔哩哔哩1...
解迷透视!hhpoker有没有... 解迷透视!hhpoker有没有外挂,微乐自建房免费黑科技推荐,诀窍教程(真是有挂)-哔哩哔哩解迷透视...
了解透视!wepokerplu... 了解透视!wepokerplus万能挂,微乐广西麻辣辅助,方案教程(有挂详情)-哔哩哔哩1、下载好w...
揭露透视!wepoker-h5... 揭露透视!wepoker-h5下载,微乐自建房脚本免费下载入口,法子教程(有挂神器)-哔哩哔哩1)w...
详情透视!aapoker怎么设... 详情透视!aapoker怎么设置提高好牌几率,微乐小程序卡五星脚本,项目教程(确实有挂)-哔哩哔哩1...
揭露透视!wepoker有没有... 揭露透视!wepoker有没有透视方法,小程序微乐辅助软件,步骤教程(有挂秘诀)-哔哩哔哩1、每一步...