我想在每个页面中显示警报消息。如何使用angular2 / ionic2编写公共服务来实现这一目标?
现在我正在每个' .ts'中编写showAlert()函数。以下列方式提交文件。
<form>
答案 0 :(得分:1)
由于Alerts
与视图相关而非应用程序数据,我认为不是使用服务来实现这一点,我们可以使用Events
。我们的想法是在您的app.ts
文件中添加以下代码:
constructor(public events: Events, private alertCtrl: AlertController, ...) {
// Your code...
// Subscribe to the event 'alert:presented'
events.subscribe('alert:presented', (alertData) => {
this.showAlert(alertData[0]);
});
}
// This method will show the alerts with the name sent as parameter
public showAlert(name: string) {
let alert = this.alertCtrl.create({
title: 'New Friend!',
subTitle: 'Your friend, ' + name + ', just accepted your friend request!',
buttons: ['OK']
});
alert.present();
}
然后,您可以通过执行
从任何其他视图显示警报constructor(public events: Events, ...) {
}
public yourMethod() {
this.events.publish('alert:presented', 'Obi wan Kenobi');
}