angular – 如何在Ionic 2中为多个请求显示LoadingController
发布时间:2020-12-17 17:51:41 所属栏目:安全 来源:网络整理
导读:根据Ionic文档,我可以使用以下代码加载Ionic LoadingController: ionViewLoaded() { let loader = this.loading.create({ content: 'Getting latest entries...',}); loader.present().then(() = { this.someService.getLatestEntries() .subscribe(res = {
根据Ionic文档,我可以使用以下代码加载Ionic LoadingController:
ionViewLoaded() { let loader = this.loading.create({ content: 'Getting latest entries...',}); loader.present().then(() => { this.someService.getLatestEntries() .subscribe(res => { this.latestEntries = res; loader.dismiss(); }); }); } 如果我只是发出1个ajax请求,这样可以正常工作.但我有5个要求,如果我隐藏/显示加载控制器这样会导致屏幕闪烁. 有没有办法我可以提供loadingController,但只有当所有的Ajax请求都已完成时才解除() 编辑:请求不依赖于彼此.他们是独立的.我正在寻找的是一种在所有可观察的请求完成时得到通知的方法.这样,当所有这些都完成时,我可以解除LoadingController. 解决方法
我在我的应用程序中使用以下实用程序.如果我们想要显示相同的加载器并且需要在不同的步骤更改加载器文本,这也适用于多个步骤或/和页面.
我们可以多次调用showLoader(),最终需要调用hideLoader(). @Injectable() export class Utility { loader: any = null; constructor(private _alertCtrl: AlertController,private _loadingController: LoadingController) { } private showLoadingHandler(message) { if (this.loader == null) { this.loader = this._loadingController.create({ content: message }); this.loader.present(); } else { this.loader.data.content = message; } } private hideLoadingHandler() { if (this.loader != null) { this.loader.dismiss(); this.loader = null; } } public showLoader(message) { this.showLoadingHandler(message); } public hideLoader() { this.hideLoadingHandler(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Angularjs:ngRepeat和指令
- codeHaus XFire实现WebService开发
- ofbiz的webservice接口提供(2)-数据类型的局限性
- 如何隐藏Bootstrap模式从javascript?
- twitter-bootstrap – 带有下拉图标-Vevron的Bootstrap手风
- scala – Sbt,编译编译器桥
- 【shell】Linux shell 之 判断用户输入的变量是否为数字
- twitter-bootstrap – Angular 2 Component内部的bootstrap
- Playframework Scala Specs2 JSON Matchers
- angular2 – 使用angular-cli的bootstrap-sass编译错误