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

相关内容

热门资讯

交流学习经验!广东雀神智能插件... 交流学习经验!广东雀神智能插件安卓包,暗宝辅助好用吗,详细技巧(有挂秘籍)暗藏猫腻,小编详细说明广东...
每日必看推荐!水鱼辅助软件下载... 每日必看推荐!水鱼辅助软件下载,微信大厅辅助软件,详细插件(有挂秘诀)微信大厅辅助软件破解侠是真的助...
来一盘!福建天天开心辅助工具,... 来一盘!福建天天开心辅助工具,菠萝神辅助器app,详细插件(有挂教学)1、福建天天开心辅助工具辅助器...
总算了解!雀友圈斗地主有挂,科... 总算了解!雀友圈斗地主有挂,科乐辅助功能插件,详细挂(有挂方式)1、点击下载安装,雀友圈斗地主有挂脚...
查到实测!小唐家乐园山西辅助软... 查到实测!小唐家乐园山西辅助软件,闽游app破解,详细插件(有挂助手)1、起透看视 小唐家乐园山西辅...
必备攻略!陕麻圈破解,微信多乐... 必备攻略!陕麻圈破解,微信多乐辅助,详细方法(有挂助手)1、很好的工具软件,可以解锁游戏的微信多乐辅...
每日必备!欢乐联盟游戏辅助,雀... 每日必备!欢乐联盟游戏辅助,雀神麻雀充运势用吗,详细挂(有挂总结);1、雀神麻雀充运势用吗透视辅助软...
揭秘攻略!邯郸胡乐修改器视频,... 揭秘攻略!邯郸胡乐修改器视频,山西扣点点辅助挂定制交易平台,详细工具(证实有挂)1、游戏颠覆性的策略...
重大通报!哥哥打大a辅助工具靠... 重大通报!哥哥打大a辅助工具靠谱嘛,赣牌圈控制牌型辅助器,详细app(了解有挂)重大通报!哥哥打大a...
盘点一款!雀友会潮汕辅助器,四... 盘点一款!雀友会潮汕辅助器,四川游戏家园通用辅助在,详细插件(有人有挂)1、盘点一款!雀友会潮汕辅助...