【问题标题】:Ionic globally call function after Modal present模态出现后的离子全局调用函数
【发布时间】:2018-07-03 01:53:10
【问题描述】:

我想每次在模态出现后弹出一个警告框。

我知道我可以做这样的事情modal.present().then(()=>alert("Modal presented"))

但是,我有 30 多个页面,其中包含 modalController。 将 Promise 调用添加到每个页面是低效

有什么方法可以全局在模态框出现后自定义事件,这样我就不需要更新所有页面了?

【问题讨论】:

    标签: ionic-framework ionic2


    【解决方案1】:

    您应该创建一个函数来在您的服务中显示模式。每个你想显示一个模态,使用那个功能。因此,您可以处理每个模式演示的成功回调。

    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()
    • 是的。恐怕这是唯一的方法。
    【解决方案2】:

    查看Lifecycle events,在您的情况下可能是 ionViewDidEnter()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 2012-05-26
      • 1970-01-01
      相关资源
      最近更新 更多