【发布时间】:2018-07-03 01:53:10
【问题描述】:
我想每次在模态出现后弹出一个警告框。
我知道我可以做这样的事情modal.present().then(()=>alert("Modal presented"))
但是,我有 30 多个页面,其中包含 modalController。 将 Promise 调用添加到每个页面是低效。
有什么方法可以全局在模态框出现后自定义事件,这样我就不需要更新所有页面了?
【问题讨论】:
我想每次在模态出现后弹出一个警告框。
我知道我可以做这样的事情modal.present().then(()=>alert("Modal presented"))
但是,我有 30 多个页面,其中包含 modalController。 将 Promise 调用添加到每个页面是低效。
有什么方法可以全局在模态框出现后自定义事件,这样我就不需要更新所有页面了?
【问题讨论】:
您应该创建一个函数来在您的服务中显示模式。每个你想显示一个模态,使用那个功能。因此,您可以处理每个模式演示的成功回调。
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);
});
}
只要显示模态框就调用上面的函数:
yourPage.ts
this.yourProvider.showModal("SomePage");
请注意:这只是一个建议。我在实际项目展示中没有使用这种方式,不能指出它的任何缺点。
【讨论】:
showModal()。
查看Lifecycle events,在您的情况下可能是 ionViewDidEnter()。
【讨论】: