В app.module
добавьте provider
.
Примечание : ToastProvider
принимает аргументы конструктора, поэтому нам нужно Factory
для создания этого объекта.Он является частью app.module
(последние несколько строк)
Дополнительные операции импорта:
import { ToastProvider } from '../pages/home/toast'
import { ToastController, ToastOptions } from 'ionic-angular';
Определение модуля:
@NgModule({
declarations: [//no change
],
imports: [//no change
],
bootstrap: [IonicApp],
entryComponents: [//nochange
],
providers: [
{provide: ErrorHandler, useClass: IonicErrorHandler}, {provide: ToastProvider, useFactory:ToastProviderFactory, deps:[ToastController ] }
]
})
export class AppModule {}
export function ToastProviderFactory(tc) {
return new ToastProvider(tc, null);
}
На странице Home.ts (илигде вы хотите использовать сервис / провайдера), определите / введите ToastProvider
в конструкторе:
export class SignupPage {
constructor(toastCtrl: ToastProvider, public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad secondPage');
}
alertCtrl(){
this.toastCtrl.buttonToast("Please sign in with your credentials");
}
}
Протестировано работает в Stackblitz ..