簡體   English   中英

離子可以從外部使用LoadingController嗎?

[英]Ionic is possible to use LoadingController from external?

在我的頁面中,我實現了ionic 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並以某種方式使其無效化並將其注入到我的頁面中嗎?

  • 創建一個名為MyLoadingController的新服務
  • 將加載控制器注入到它的constructor(private loadingCtrl: LoadingController) { }
  • 在其中添加您的方法
  • 在您想使用的地方注入新的servive

最后我做到了。 我創建了CommonLoadingController,它擴展了LoadingController,並在其中添加了我的方法,並將其作為提供程序添加到app.module.ts中。 現在,我可以在構造函數中的任何地方使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM