У меня общий вопрос о возможной эффективности вызова ионного компонента из службы вместо импорта каждого компонента отдельно в каждом файле .ts.
Например, я довольно часто использую ToastController
и AlertController
, и недавно я начал добавлять эту функцию в свой сервис для простоты, но я не уверен, будет ли это в идеале лучше или хуже для моего приложения.
Пример кода:
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, который я хочу использовать его.