【发布时间】:2019-10-23 10:21:31
【问题描述】:
我正在使用 ionic 5 构建一个应用程序,我想在用户尝试登录时显示 ion-loader,并且在从服务器获得响应后,它将关闭 ion-loader,但是当我尝试它时,我收到了这个错误
Error: Uncaught (in promise): TypeError: Cannot read property 'dismiss' of undefined
这是我的代码
import { Component, OnInit } from '@angular/core';
import { HomePage } from '../home/home.page';
import { NavController, AlertController, LoadingController } from '@ionic/angular';
import { AuthServiceService } from '../auth-service.service';
@Component({
selector: 'app-login',
templateUrl: './login.page.html',
styleUrls: ['./login.page.scss'],
})
export class LoginPage implements OnInit {
ngOnInit() {
}
registerCredentials = { email: '', password: '' };
loaderToShow: any;
constructor(
public navCtrl: NavController,
private auth: AuthServiceService,
private alertCtrl: AlertController,
private loadingCtrl: LoadingController
) {
console.log(this.registerCredentials);
}
public login() {
this.showLoading();
this.auth.login(this.registerCredentials).subscribe(allowed => {
if (allowed) {
this.loaderToShow.dismiss();
console.log('canceal')
} else {
this.showError('Access Denied');
}
}, error => {
this.showError(error);
});
}
public async showLoading() {
this.loaderToShow = await this.loadingCtrl.create({
message: 'Please Wait...'
});
await this.loaderToShow.present();
}
public async showError(text) {
this.loaderToShow.dismiss();
let alert = await this.alertCtrl.create({
header: 'Fail',
message: text,
buttons: ['OK']
});
await alert.present();
}
}
请问如何正确关闭离子加载器
【问题讨论】:
-
尝试将构造函数中的初始化从私有更改为公共:
public loadingCtrl: LoadingController -
我试过了,但它不起作用
标签: ionic-framework