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

相关内容

热门资讯

程序员教你!约局吧德州真的存在... 程序员教你!约局吧德州真的存在透视吗(辅助挂)都是是有挂(有挂技术辅助软件)1、首先打开辅助器下载最...
盘点十款!aapoker透视脚... 盘点十款!aapoker透视脚本下载(辅助挂)一贯有挂(存在有挂辅助方法)1、实时透视辅助更新:用户...
安装程序教程!wepoker公... 安装程序教程!wepoker公共底牌(辅助挂)总是真的有挂(有挂详情辅助软件)1、有没有辅助教程、有...
免费测试版!wepoker好友... 免费测试版!wepoker好友局透视(辅助挂)真是是有挂(有挂规律辅助方法)1、玩家可以在线上大神俱...
实操分享!wepoker亲友圈... 实操分享!wepoker亲友圈有用吗(辅助挂)总是真的是有挂(有挂分享辅助工具)1、玩家可以在线上大...
研究成果!hhpoker真的有... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...
推荐一款!wepoker插件下... 推荐一款!wepoker插件下载(辅助挂)竟然有挂(真是有挂辅助工具)1、这是跨平台的轻量版有透视,...
分享一款!德州透视是真的吗(辅... 分享一款!德州透视是真的吗(辅助挂)一直真的是有挂(有挂详细辅助教程)小薇(辅助器软件下载)致您一封...
玩家必用!wepoker辅助透... 玩家必用!wepoker辅助透视软件(辅助挂)好像真的是有挂(今日头条辅助教程)1、玩家必用!wep...
分享一款!德普之星透视辅助插件... 分享一款!德普之星透视辅助插件(辅助挂)本来是真的有挂(详细教程辅助软件);1、上手简单,内置详细流...