在 ionic 2 angularjs 2 的多个视图之间共享一个函数
Share a function between several views on ionic 2 angularjs 2
在使用 ionic 2 和 angularjs 我的应用程序的几个视图中,我在每个页面上都使用了一些 ionic toast 消息。
这些 toast 消息对于每个页面都是相同的。
是否可以在可注入服务或其他东西中定义这些消息,而不是在所有 TS 文件中创建相同的函数?
就像@Austin 说的,你应该把你的逻辑放在 injectable service
:
import {Injectable} from "@angular/core";
@Injectable()
export class ToastService {
constructor(...) {
// ...
}
showToast() {
//....
}
}
然后将它包含在您的 app.ts
文件的 ionicBootstrap
中,以确保 在整个应用程序中使用相同的服务实例.
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();
}
}
在使用 ionic 2 和 angularjs 我的应用程序的几个视图中,我在每个页面上都使用了一些 ionic toast 消息。 这些 toast 消息对于每个页面都是相同的。
是否可以在可注入服务或其他东西中定义这些消息,而不是在所有 TS 文件中创建相同的函数?
就像@Austin 说的,你应该把你的逻辑放在 injectable service
:
import {Injectable} from "@angular/core";
@Injectable()
export class ToastService {
constructor(...) {
// ...
}
showToast() {
//....
}
}
然后将它包含在您的 app.ts
文件的 ionicBootstrap
中,以确保 在整个应用程序中使用相同的服务实例.
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();
}
}