ionic页面回传值的两种方式

    在移动app开发过程中,很多时候会遇到当前页面回传值到其上一个页面的问题。这里我就大致描述下ionic开发中,常用的两种页面回传值的方式。

  一、Promise的传值方式

      1.在上一个页面添加如下方法:

changeUsernoText=(newuserno)=>
  {
    return new Promise((resolve,reject)=>{
      if(typeof newuserno!="undefined")
      {
        console.log("newuserno",newuserno)
        resolve('ok')
      }else
      {
        reject(Error('error'))
      }
    })
  }

      2.在push到当前页面时,将改方法以参数的形式传递给当前页面:

 gotoRegister()
  {
    this.navCtrl.push(RegisterPage,{changeUsernoText:this.changeUsernoText})
  }

3.在当前页面里面离开时调用:

ionViewWillUnload( )
  {
    console.log("callback","123")
   let callback=this.navParams.get("changeUsernoText")
    callback("123").then((result)=>{
        console.log("result",result)
    },(error)=>{
      console.log("error",error)
    })
  }

  二、使用Events发布订阅事件

      1.在当前页面和当前页的上一个页面构造函数里面初始化Events:

constructor(private events: Events) {

  }

      2.在当前页面需要往回传值的地方使用初始化后的Events发布一个事件:

this.events.publish('disburdent', "ABD");

     3.在上一个页面通过订阅的方法获取Events发布事件的传参:

 this.events.subscribe('disburdent',(result)=>{
      console.log(result);
 });

注意:Events中订阅和发布的key值必须是同一个值,否则取到的值会为空 

Promise相关参考:

ionic3 离开页面传值(回传)

30分钟,让你彻底明白Promise原理

ECMAScript 6全集教程

Events订阅发布相关参考:

Events官网

ionic3事件Events使用

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值