📅  最后修改于: 2021-01-03 04:47:37             🧑  作者: Mango
加载会创建一个叠加层,该叠加层可用于阻止其他用户互动。加载指示器显示在内容区域的顶部。该应用可以将其关闭,以恢复用户与该应用的交互。当某些进程正在进行时,我们可以显示加载程序的视觉指示,例如从服务器或文件副本获取数据,粘贴事件等。加载程序在应用程序中非常有用。从用户的角度来看,它使应用程序更加方便。
Ionic加载程序还允许我们使用message参数显示一条消息,该消息指示进程正在进行。它还包括一个可选的背景,可以通过设置属性showBackdrop:创建时禁用false来禁用它。
Ionic加载有两种方法:create和dismiss,它们将promise作为回调返回。让我们一一理解这些方法。
视觉加载指示器是使用“加载控制器”创建的。我们可以在加载控制器create()方法中定义各种加载选项。自定义微调器名称应在离子加载的微调器选项中传递。
此方法用于隐藏加载程序。通过传递加载选项的持续时间,可以在特定时间后自动将其关闭。如果在create方法中未添加time duration选项,则需要调用dismiss方法来隐藏加载程序。它还取消加载指示器后调用onDidDismiss函数执行操作。
在下面的示例中我们可以理解这些方法。
showAutoHideLoader() {
this.loadingCtrl.create({
message: 'This Loader Will Auto Hide in five Seconds',
duration: 5000
}).then((res) => {
res.present();
res.onDidDismiss().then((dis) => {
console.log('Loading dismissed! after five Seconds');
});
});
}
在某些情况下,我们可能需要像服务器API调用中那样具有单独的show和hide方法。在下面的示例中,我们可以看到这些方法。
showLoader() {
this.loaderToShow = this.loadingCtrl.create({
message: 'This Loader will Not AutoHide'
}).then((res) => {
res.present();
res.onDidDismiss().then((dis) => {
console.log('Loading dismissed!');
});
});
this.hideLoader();
}
hideLoader() {
setTimeout(() => {
this.loadingCtrl.dismiss();
}, 4000);
}
}
离子装载机具有以下选项。
让我们从以下示例中查看加载组件在Ionic应用程序中的工作方式。
Home.page.html
负责用户界面的是HTML文件。在此文件中,我们将创建一个事件以显示加载控制器。为此,我们需要在
当用户单击按钮时,它将调用一个函数。此函数包含一个代码,用于向用户显示加载控制器五秒钟,五秒钟后,将关闭加载控制器。现在,转到home.page.ts文件以创建此函数。
Ionic Loading
Show Loading
主页
如果要使用加载组件,请首先导入加载控制器。然后,您需要在类内创建一个构造函数,因为需要将加载控制器注入到类内。现在,创建一个showLoading()函数向用户显示加载控制器。在函数内部,我们必须传递JSON对象,该对象定义加载控制器的外观。
接下来,我们需要创建一个dismiss函数来关闭加载控制器,并将超时函数设置为关闭加载控制器的持续时间。
import { Component } from '@angular/core';
import { LoadingController } from '@ionic/angular';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
loaderToShow: any;
constructor(public loadingCtrl: LoadingController) {}
showLoading() {
this.loadingCtrl.create({
message: 'Loading...'
}).then((loading) => {
loading.present();
setTimeout(() => {
loading.dismiss();
}, 5000 );
});
}
}
输出:
当您执行上述Ionic应用程序时,它将显示以下屏幕。
现在,当您单击显示加载按钮时,它将开始显示加载指示。五秒钟后,它将消失。
我们还可以使用await和async以另一种方式编写上述函数。下面的代码很容易解释这一点。
async showLoading() {
const loading = await this.loadingCtrl.create({
message: 'Loading...'
});
loading.present();
setTimeout(() => {
loading.dismiss();
}, 5000 );
}
我们还可以添加其他JSON属性,如下所示。
async showLoading() {
const loading = await this.loadingCtrl.create({
message: 'Loading...',
duration: 5000,
showBackdrop: false,
spinner: 'lines'
});
loading.present();
}