Angular (6/7/8) - 在等待从window.location.assign加载内容时显示一个加载动画
创始人
2024-10-14 11:31:42
0

在Angular中,可以使用RxJS的Observable来实现在等待从window.location.assign加载内容时显示一个加载动画。下面是一个代码示例:

  1. 首先,需要安装RxJS库。可以通过运行以下命令来安装它:
npm install rxjs
  1. 在Angular组件中,引入所需的RxJS操作符和Observable:
import { Observable, interval, fromEvent } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
  1. 在组件类中创建一个方法,该方法将等待window.location.assign加载内容时显示加载动画。这个方法使用interval操作符来定期检查window.location.href是否已更改为新的URL,同时使用takeUntil操作符来停止循环检查:
showLoadingAnimation(): void {
  // 创建一个Observable,每500毫秒发出一个值
  const interval$ = interval(500);

  // 创建一个Observable,当window.location.href改变时发出一个值
  const change$ = new Observable(observer => {
    const handler = () => observer.next(window.location.href);
    fromEvent(window, 'click').subscribe(handler); // 监听click事件,当用户点击页面时发出一个值
    return () => window.removeEventListener('click', handler);
  });

  // 合并两个Observable,并在window.location.href改变时取消interval$
  interval$.pipe(takeUntil(change$)).subscribe(() => {
    // 显示加载动画的代码
    console.log('显示加载动画...');
  });
}
  1. 在组件的某个生命周期钩子中调用showLoadingAnimation方法,例如ngOnInit:
ngOnInit(): void {
  this.showLoadingAnimation();
}

现在,当组件加载时,它将定期检查window.location.href是否更改,并在等待加载新内容时显示加载动画。当用户点击页面时,interval将停止循环检查,加载动画也将停止显示。

相关内容

热门资讯

总算了解!wpk俱乐部辅助器,... 总算了解!wpk俱乐部辅助器,拱趴大菠萝挂,必赢方法(有挂教程);原来确实真的有挂(需添加指定薇13...
重大通报!wepoker免费脚... 重大通报!wepoker免费脚本咨询,hhpoker有作弊的吗,AI教程(有挂技巧);亲真的是有正版...
我来教教你!购买wepoker... 我来教教你!购买wepoker模拟器,aapoker如何设置胜率,AI教程(有挂教程)科技教程也叫必...
揭秘攻略!wepoker底牌透... 揭秘攻略!wepoker底牌透视,拱趴大菠萝挂怎么安装,微扑克教程(有挂透视)是一款可以让一直输的玩...
技术分享!wepoker辅助插... 技术分享!wepoker辅助插件功能,hhpoker到底可以作弊码,存在挂教程(有挂神器);最新版2...
一分钟揭秘!hhpkoer辅助... 一分钟揭秘!hhpkoer辅助挂是真的吗,wpk模拟器,详细教程(有挂透明);支持多人共享记分板与复...
指导大家!poker辅助器免费... 指导大家!poker辅助器免费安装,wepoker钻石怎么看底牌,切实教程(有挂攻略)1、点击下载安...
一分钟了解!hhpoker辅助... 一分钟了解!hhpoker辅助器,hh poker透视器下载,实用技巧(有挂攻略);《WPK辅助透视...
玩家亲测!aapoker免费透... 1、玩家亲测!aapoker免费透视脚本,wepoker有没有挂,曝光教程(有挂技巧)。2、aapo...
专业讨论!hhpoker脚本,... 专业讨论!hhpoker脚本,聚星ai辅助工具下载,科技教程(有挂技巧);小薇(透视辅助)致您一封信...