Ionic的全局组件

时间:2018-11-19 18:11:02

标签: angular ionic-framework ionic3

对于从服务调用离子组件而不是分别在每个.ts文件中分别导入每个组件的可能效率,我有一个普遍的问题。

例如,我经常使用ToastControllerAlertController,并且为了简化起见,我最近开始在我的服务中放置该函数,但是我不确定理想情况下是更好还是更坏用于我的应用程序。

示例代码:

service.ts

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
import { Subscription } from 'rxjs/Subscription';
import {ToastController, LoadingController } from 'ionic-angular';
import { AppVersion } from '@ionic-native/app-version';

@Injectable()
export class ReapService {
  constructor(public loadingCtrl:LoadingController,
              public toast: ToastController,
              public network: Network,
              public storage: Storage,
              public appVersion: AppVersion){}


presentToast(msg) {
      let toast = this.toast.create({
        message: msg,
        duration: 3000,
        position: 'bottom',
        dismissOnPageChange: false,
        cssClass: 'customToast'
      });

      toast.onDidDismiss(() => {
        //console.log('Dismissed toast');
      });

      toast.present();
      }
 }

另一个.ts文件

onLogout(){
          this.reap.formStart = null;
          this.reap.token = "";
          this.storage.clear();
          const loading = this.loadingCtrl.create({
            content: 'Logging Out...'
          });
          loading.present();
             setTimeout(() => {
                this.reap.removeConnections();
                
                
                //Where I call the toast controller
                this.reap.presentToast('Logged Out');
                
                
                this.navCtrl.popToRoot();
                loading.dismiss();
            }, 2000);
          
     }

我只是想确保对于该应用程序可行,并且如果我开始使用类似于Toast的其他组件,则可能会更有效率。到目前为止,我知道不必在每个所需的.ts文件中导入该组件,从而节省了时间。使用它。

0 个答案:

没有答案