我想在每次显示模态后弹出一个警报框。
我知道我可以做这样的事情modal.present().then(()=>alert("Modal presented"))
但是,我有 30 多个页面,其中包含模态控制器。将承诺调用添加到每个页面是低效的。
有什么方法可以在显示模式框后全局自定义事件,这样我就不需要更新所有页面?
您应该创建一个函数来显示服务中的模式。每个你想显示一个模态,使用那个功能。因此,您可以处理每个模式演示的成功回调。
yourProvider.ts
showModal(component, data) {
this.modalCtrl.create(component, data).present().then(() => {
console.log("show modal success");
//Add your alert here
alert("Modal presented");
}).catch(error => {
console.log("show modal error", error);
});
}
只需在显示模态时调用上面的函数:
你的页面.ts
this.yourProvider.showModal("SomePage");
请注意:这只是一个建议。我没有在实际项目展示中使用这种方式,无法指出它的任何缺点。
查看生命周期事件,在您的情况下可能是 ionViewDidEnter((。