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

相关内容

热门资讯

推荐一款!wepoker私人局... 推荐一款!wepoker私人局规律(辅助挂)好像存在有挂(有挂详情)1、wepoker私人局规律辅助...
重大科普!wepoker透视底... 重大科普!wepoker透视底牌脚本(辅助挂)确实是真的有挂(有挂方针)1、完成wepoker透视底...
重大消息!悦扑克脚本(辅助挂)... 重大消息!悦扑克脚本(辅助挂)真是是有挂(存在有挂)1、悦扑克脚本免费辅助多个强度级别选择2、悦扑克...
一分钟了解!wepoker智能... 您好,wepoker智能辅助插件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
重大通报!wepoker轻量版... 重大通报!wepoker轻量版辅助(辅助挂)本来存在有挂(发现有挂)wepoker轻量版辅助辅助器是...
交流学习经验!hhpkoer辅... 交流学习经验!hhpkoer辅助挂是真的吗(辅助挂)都是有挂(有挂方法)hhpkoer辅助挂是真的吗...
推荐一款!aapoker透视脚... 推荐一款!aapoker透视脚本下载(辅助挂)本来有挂(有挂辅助)运aapoker透视脚本下载辅助工...
记者发布!aapoker透视脚... 记者发布!aapoker透视脚本下载(辅助挂)好像真的是有挂(有挂规律)1、玩家可以在aapoker...
实测揭晓!wepoker辅助器... 实测揭晓!wepoker辅助器激活码(辅助挂)总是有挂(有挂实锤)1、进入到wepoker辅助器激活...
一分钟揭秘!hhpoker透视... 一分钟揭秘!hhpoker透视工具(辅助挂)本来真的是有挂(有挂详情)1、hhpoker透视工具模拟...