Efficiency of storing Ionic Components in Service rather than each file
up vote
0
down vote
favorite
I have a general question regarding the possible efficiency of calling an Ionic Component from a service rather than importing each Component separately in each .ts file.
For example, I use the ToastController
and AlertController
quite a bit and I recently started putting the function in my service for simplicity, but I'm not sure if that would ideally be better or worse for my app.
Sample Code:
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();
}
}
another .ts file
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);
}
I just wanted to make sure that is feasible for the app and possible even more efficient if I started using other Components similar to Toast.I know so far it's saved time from having to import the component in each .ts file I want to use it.
angular ionic-framework ionic3
add a comment |
up vote
0
down vote
favorite
I have a general question regarding the possible efficiency of calling an Ionic Component from a service rather than importing each Component separately in each .ts file.
For example, I use the ToastController
and AlertController
quite a bit and I recently started putting the function in my service for simplicity, but I'm not sure if that would ideally be better or worse for my app.
Sample Code:
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();
}
}
another .ts file
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);
}
I just wanted to make sure that is feasible for the app and possible even more efficient if I started using other Components similar to Toast.I know so far it's saved time from having to import the component in each .ts file I want to use it.
angular ionic-framework ionic3
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a general question regarding the possible efficiency of calling an Ionic Component from a service rather than importing each Component separately in each .ts file.
For example, I use the ToastController
and AlertController
quite a bit and I recently started putting the function in my service for simplicity, but I'm not sure if that would ideally be better or worse for my app.
Sample Code:
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();
}
}
another .ts file
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);
}
I just wanted to make sure that is feasible for the app and possible even more efficient if I started using other Components similar to Toast.I know so far it's saved time from having to import the component in each .ts file I want to use it.
angular ionic-framework ionic3
I have a general question regarding the possible efficiency of calling an Ionic Component from a service rather than importing each Component separately in each .ts file.
For example, I use the ToastController
and AlertController
quite a bit and I recently started putting the function in my service for simplicity, but I'm not sure if that would ideally be better or worse for my app.
Sample Code:
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();
}
}
another .ts file
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);
}
I just wanted to make sure that is feasible for the app and possible even more efficient if I started using other Components similar to Toast.I know so far it's saved time from having to import the component in each .ts file I want to use it.
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();
}
}
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();
}
}
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);
}
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);
}
angular ionic-framework ionic3
angular ionic-framework ionic3
asked Nov 19 at 18:11
Stephen Romero
1951214
1951214
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53380405%2fefficiency-of-storing-ionic-components-in-service-rather-than-each-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown