小程序路由跳转---事件通信通道EventChannel(一)

EventChannel是什么?

借助wx.navigateTo方法,在两个页面之间构建起数据通道,互相可以通过“派发事件”及“注册事件监听器”来实现基于事件的页面通信。基础库版本v2.7.3以上支持。

EventChannel中主要的方法

EventChannel.emit( strign eventName,any args ) 触发一个事件
EventChannel.on( strign eventName,EventCallback fn ) 持续监听一个事件
EventChannel.once( strign eventName,EventCallback fn ) 监听一个事件一次,触发后失效
EventChannel.off( strign eventName,EventCallback fn) 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数。

EventChannel的使用

两个页面间构建数据通道

A页面向B页面传输数据
<!--pages/event-channel/index.wxml-->
<button bind:tap="to01Page">跳转至01页面</button>
to01Page() {
    wx.navigateTo({
      url: `/pages/event-channel-01/index`,
      // events: 注册将在目标页面触发(派发)的同名事件的监听器
      events:{
        updateInvoice:(result)=>{
          console.log('返回传输的数据', result);
        }
      },
      // success:跳转后进行可通过res.eventChannel 触发自定义事件
      success:(res)=>{
        res.eventChannel.emit('sendQueryParams',{name: '梅若涵', age: 18, hobby: 'programming'})
      }
    });
  },

B页面监听接收A页面数据并在返回时向A页面传输数据
<!--pages/event-channel-01/index.wxml-->
<button bind:tap="back">返回</button>
 onLoad(options) {
    // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    let eventChannel = this.getOpenerEventChannel();
    eventChannel.once('sendQueryParams',(params)=>{
      console.log('上一页面传来的数据', params);
    })
  },


  back(){
    this.getOpenerEventChannel().emit('updateInvoice', {sex: 'female'});
    wx.navigateBack();
  },

运行结果
需要注意,使用小程序中左上角的返回是无法接收到返回的数据的。

相关推荐

  1. 微信程序方式

    2024-03-16 14:42:02       40 阅读
  2. 微信程序开发:揭秘与页面的艺术

    2024-03-16 14:42:02       34 阅读
  3. 微信程序-和页面API

    2024-03-16 14:42:02       30 阅读
  4. flutter

    2024-03-16 14:42:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 14:42:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 14:42:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 14:42:02       87 阅读
  4. Python语言-面向对象

    2024-03-16 14:42:02       96 阅读

热门阅读

  1. linux--redhat系统Yum源配置

    2024-03-16 14:42:02       34 阅读
  2. 【统计】什么事 KPSS 检验

    2024-03-16 14:42:02       48 阅读
  3. python常用框架介绍

    2024-03-16 14:42:02       48 阅读
  4. STM32的IAP讲解

    2024-03-16 14:42:02       31 阅读
  5. 力扣日记3.16-【贪心算法篇】53. 最大子数组和

    2024-03-16 14:42:02       43 阅读
  6. tmux终端复用器

    2024-03-16 14:42:02       42 阅读
  7. 前端图片预加载和懒加载

    2024-03-16 14:42:02       38 阅读
  8. 手写vue将虚拟 Dom 转化为真实 Dom

    2024-03-16 14:42:02       46 阅读
  9. 学习总结2

    2024-03-16 14:42:02       39 阅读