Kha*_*dan 1 typescript ionic2 angular
我正在寻找ionic2最佳实践来显示负载,警报和控制台日志。
因此,而不是在每个页面中重复下面的代码,因此我只能调用一次。
例如显示加载的代码:
showLoading() {
this.loading = this.loadingCtrl.create({
content: ''
});
this.loading.present();
}
Run Code Online (Sandbox Code Playgroud)
创建提供程序并显示上一次的负载是最佳实践吗?还是提供程序不支持加载或类似内容?
谢谢。
我通常创建一个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();
}
}
Run Code Online (Sandbox Code Playgroud)
或例如加载:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用模块路径映射在任何组件中重用,例如:
import { Alert, Toast } from '@lib';
Run Code Online (Sandbox Code Playgroud)
这是最佳做法吗?是的,我认为。您编写的代码更少,您可以重用您的lib提供程序。
希望我能帮忙!
归档时间: |
|
查看次数: |
325 次 |
最近记录: |