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

相关内容

热门资讯

透视了解!wpk辅助插件,wp... 透视了解!wpk辅助插件,wpk透视工作室,学习教程(一贯真的有挂)-哔哩哔哩1、超多福利:超高返利...
透视最新版!wepoker怎么... 透视最新版!wepoker怎么买辅助(透视)开挂辅助挂(本来有挂)-哔哩哔哩1、金币登录送、破产送、...
透视透视!wepoker俱乐部... 透视透视!wepoker俱乐部辅助,wepoker辅助辅助,手筋教程(本来有挂)-哔哩哔哩1、wep...
透视安卓!pokemmo手机脚... 透视安卓!pokemmo手机脚本(透视)开挂辅助器(果然真的是有挂)-哔哩哔哩1.pokemmo手机...
透视教程!德普之星辅助软件,德... 透视教程!德普之星辅助软件,德普辅助软件,方针教程(原来是有挂)-哔哩哔哩1、很好的工具软件,可以解...
透视存在!we poker插件... 透视存在!we poker插件(透视)开挂辅助攻略(一直真的有挂)-哔哩哔哩所有人都在同一条线上,像...
透视规律!wpk官网下载链接,... 透视规律!wpk官网下载链接,佛手在线大菠萝为什么都输,手段教程(好像是有挂)-哔哩哔哩透视规律!w...
透视靠谱!黑侠破解wepoke... 透视靠谱!黑侠破解wepoker(透视)开挂辅助app(切实真的是有挂)-哔哩哔哩1、黑侠破解wep...
透视系统!德扑圈透视,德州局透... 透视系统!德扑圈透视,德州局透视,要领教程(一贯存在有挂)-哔哩哔哩;1、该软件可以轻松地帮助玩家将...
透视机器人!wepoker私人... 透视机器人!wepoker私人局透视教程(透视)开挂辅助挂(都是真的有挂)-哔哩哔哩1、玩家可以在w...