显示加载、警报和日志的 ionic2 最佳实践是什么?
What is the ionic2 best practice to show loading, alerts and logs?
我正在寻找显示加载、警报和控制台日志的 ionic2 最佳实践..
所以我不必在每个页面中重复下面的代码,这样我就可以调用它一次。
显示加载的示例代码:
showLoading() {
this.loading = this.loadingCtrl.create({
content: ''
});
this.loading.present();
}
创建提供程序并从上次显示加载是否是最佳做法?或者提供商不支持加载或类似的东西?
谢谢。
我通常会创建一个 lib 文件夹(如果需要,也可以是模块)。然后,我创建了一些提供者。对于警报,您可以创建一个提供者:
import { Injectable } from '@angular/core';
import { AlertController } from 'ionic-angular';
@Injectable()
export class Alert {
constructor(
public alertCtrl: AlertController
) {}
show(title: string, subTitle: string, buttons: Array<string>): void{
let alert = this.alertCtrl.create({
title: title,
subTitle: subTitle,
buttons: buttons
});
alert.present();
}
}
或者加载例如:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { LoadingController } from 'ionic-angular';
@Injectable()
export class Loader {
loader: any;
constructor(
public http: HttpClient,
public loadingCtrl: LoadingController
) {}
present(msg = `Please wait...`) {
this.loader = this.loadingCtrl.create({
content: "Please wait..."
});
this.loader.present();
}
dismiss() {
this.loader.dismiss();
}
}
然后,您可以在具有模块路径映射的任何组件中重用,例如:
import { Alert, Toast } from '@lib';
这是最佳做法吗?是的,我认为。您编写的代码更少,您可以重用您的库提供程序。
希望能帮到你!
我通常创建一个 UtilProvider 然后创建一个方法来显示加载对话框,例如:
public getLoading(message?) {
if (!message) {
message = 'Loading...';
}
return this.loadCtrl.create({content: message});
}
您可以添加超时或只是 return create
,调用 present()
然后 dismiss()
之后。
我认为将它用于 AlertController 并不是很好,因为您不会处理按钮点击
我正在寻找显示加载、警报和控制台日志的 ionic2 最佳实践..
所以我不必在每个页面中重复下面的代码,这样我就可以调用它一次。
显示加载的示例代码:
showLoading() {
this.loading = this.loadingCtrl.create({
content: ''
});
this.loading.present();
}
创建提供程序并从上次显示加载是否是最佳做法?或者提供商不支持加载或类似的东西?
谢谢。
我通常会创建一个 lib 文件夹(如果需要,也可以是模块)。然后,我创建了一些提供者。对于警报,您可以创建一个提供者:
import { Injectable } from '@angular/core';
import { AlertController } from 'ionic-angular';
@Injectable()
export class Alert {
constructor(
public alertCtrl: AlertController
) {}
show(title: string, subTitle: string, buttons: Array<string>): void{
let alert = this.alertCtrl.create({
title: title,
subTitle: subTitle,
buttons: buttons
});
alert.present();
}
}
或者加载例如:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { LoadingController } from 'ionic-angular';
@Injectable()
export class Loader {
loader: any;
constructor(
public http: HttpClient,
public loadingCtrl: LoadingController
) {}
present(msg = `Please wait...`) {
this.loader = this.loadingCtrl.create({
content: "Please wait..."
});
this.loader.present();
}
dismiss() {
this.loader.dismiss();
}
}
然后,您可以在具有模块路径映射的任何组件中重用,例如:
import { Alert, Toast } from '@lib';
这是最佳做法吗?是的,我认为。您编写的代码更少,您可以重用您的库提供程序。
希望能帮到你!
我通常创建一个 UtilProvider 然后创建一个方法来显示加载对话框,例如:
public getLoading(message?) {
if (!message) {
message = 'Loading...';
}
return this.loadCtrl.create({content: message});
}
您可以添加超时或只是 return create
,调用 present()
然后 dismiss()
之后。
我认为将它用于 AlertController 并不是很好,因为您不会处理按钮点击