Taro-navicateTo的event 属性及eventChannel

本文介绍如何使用Taro的navigateTo方法实现页面间通信。具体包括如何定义事件监听器接收数据,以及如何通过eventChannel机制从打开页面向被打开页面发送数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        有这样一个需求,A页面跳转到B页面,当B页面返回A页面的时候,A页面的显示依赖于离开B页面时候发送的请求,也就是说A页面的请求要等离开B页面的请求完成后再发送

     这就可以用到 taro.navicateTo的 event  属性及 eventChannel,相当于页面之间通信

Talk is cheap,show me the code

 A页面代码


    Taro.navigateTo({
      url: "/pages/test/index",
      events: {
        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
        acceptDataFromOpenedPage: function (data) {
          console.log(data);
        },
        someEvent: function (data) {
          console.log('--->',data);
        },
      },
      success: function (res) {
        // 通过eventChannel向被打开页面传送数据
        res.eventChannel.emit("acceptDataFromOpenerPage", { data: "test" });
      }

B页面代码

 const pages = Taro.getCurrentPages()
    const current = pages[pages.length - 1]
    const eventChannel = current.getOpenerEventChannel()

    // 触发A页面的 events 中的 someEvent
    eventChannel.emit('someEvent', { queNumber: 'lsk--->' }); 

    // 接收 A页面的 events 中的 acceptDataFromOpenerPage 传递的数据
    eventChannel.on('acceptDataFromOpenerPage',(res)=>{
            console.log('page_test',res);
  })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值