EventChannel的实现

文章展示了在微信小程序中,A页面如何使用wx.navigateTo跳转到B页面并传递数据。通过事件通道(events)进行通信,A页面向B页面发送参数,并在B页面接收到参数后设置数据。当B页面提交信息时,会更新发票信息并使用wx.navigateBack返回到A页面。
摘要由CSDN通过智能技术生成
//A页面(注意这里需要使用箭头函数(访问this))
  toFillOutInvoiceInfo() {
    wx.navigateTo({
      url: `/pages/invoice/invoice-info-form/invoice-info-form`,
      events:{                                //接收子页面通信的相应事件
        updateInvoice:(result)=>{
          this.setData({invoice:result})
        }
      },
      success:(res)=>{
        const params = {
          amount: this.data.amount,
          invoice:this.data.invoice.invoice_title ? JSON.stringify(this.data.invoice) : ""
        }
        res.eventChannel.emit('sendQueryParams',params)
      }
    });
  },
    
  //B页面
  onLoad(){
    this.getOpenerEventChannel().once('sendQueryParams',(params)=>{
      const {amount,invoice} = parmas;
      this.setData({amount,invoice})
    })
  }
  submit(){
    this.getOpenerEventChannel().emit('updateInvoice',this.data.invoice);
    wx.navigateBack();
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值