ionic 2 と angularjs を使用したアプリのいくつかのビューで、すべてのページでいくつかのイオン トースト メッセージを使用しています。これらのトースト メッセージは、すべてのページで同じです。
すべての TS ファイルで同じ関数を作成するのではなく、注入可能なサービスなどでこれらのメッセージを定義することは可能ですか?
ionic 2 と angularjs を使用したアプリのいくつかのビューで、すべてのページでいくつかのイオン トースト メッセージを使用しています。これらのトースト メッセージは、すべてのページで同じです。
すべての TS ファイルで同じ関数を作成するのではなく、注入可能なサービスなどでこれらのメッセージを定義することは可能ですか?
@Austin が言うように、ロジックをinjectable service
:内に配置する必要があります。
import {Injectable} from "@angular/core";
@Injectable()
export class ToastService {
constructor(...) {
// ...
}
showToast() {
//....
}
}
次に、サービスの同じインスタンスがアプリケーション全体で使用されるようにするために、それをファイルionicBootstrap
の に含めるだけです。app.ts
ionicBootstrap(MyApp, [ToastService], {});
最後に、次のようにして、必要な場所で使用できますcomponent
。
import {Component} from '@angular/core';
import {ToastService} from './toastService';
@Component({
templateUrl: 'build/test.html'
})
export class TestPage {
constructor(private toastService: ToastService) {
// ...
}
showMessage() {
// Use the service to show the message
this.toastService.showToast();
}
}