使用ionic2 / angular2编写常见警报服务

时间:2016-08-31 05:08:08

标签: angular typescript ionic2

我想在每个页面中显示警报消息。如何使用angular2 / ionic2编写公共服务来实现这一目标?

现在我正在每个' .ts'中编写showAlert()函数。以下列方式提交文件。

<form>

1 个答案:

答案 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');
}