在我的页面中,我实现了离子LoadingController。为了显示加载对话框,我创建了一个方法:
public presentLoading(text: string, timeout: number) {
if (!this.loading) {
this.loading = this.loadingCtrl.create({
content: text,
dismissOnPageChange: true
});
this.loading.present();
setTimeout(() => {
this.closeLoading();
}, timeout);
}
}
现在很好,但我也希望在其他页面中加载对话框,但我不想复制代码并在其他页面中再次写入。我想制作一个看起来像这样的静态方法:
public static presentLoading(loading: Loading, loadingCtrl: LoadingController, text: string, timeout: number)
很难看。或者另一种方式:
public loading: Loading
constructor(public loadingCtrl: LoadingController) { }
public presentLoading(text: string, timeout: number) { ... }
是否有其他方法可以创建MyLoadingController并以某种方式将其实例化并将其注入我的页面?
答案 0 :(得分:0)
MyLoadingController
constructor(private loadingCtrl: LoadingController) { }
答案 1 :(得分:0)
最后我做到了。我创建了CommonLoadingController,它扩展了LoadingController,我在那里添加了我的方法,并将它作为提供者添加到app.module.ts中。现在我可以在构造函数的任何地方使用它。