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

这篇具有很好参考价值的文章主要介绍了小程序路由跳转---事件通信通道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();
  },

运行结果小程序eventchannel可以由两个页面传输吗,小程序,小程序,前端,javascript
需要注意,使用小程序中左上角的返回是无法接收到返回的数据的。文章来源地址https://www.toymoban.com/news/detail-856999.html

到了这里,关于小程序路由跳转---事件通信通道EventChannel(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序页面跳转和通信

    在开发小程序的时候,会碰到页面间进行跳转的需求,小程序间页面跳转的方法有很多,大体分为两类,一个是指令方式,一个是用过js控制。 wx.navigateTo用于保留当前页面、跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面。对于页面不是特别多的小程序,通常

    2024年02月10日
    浏览(42)
  • 微信小程序事件点击跳转页面的五种方法

    第一种:标签 这是最常见的一种跳转方式,相当于html里的a标签 第二种:wx.navigateTo({})方法 1.前端wxml 2.js应用 第三种:wx.redirectTo({}) 功能描述: 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 类似于页面跳转时 重定向页面,类似于html中的 window.open(‘…

    2024年02月16日
    浏览(61)
  • 小程序路由跳转

    小程序中的路由只是单纯页面地址的跳转,一般在页面中使用 navigator 组件来实现,也有很多场景需要在 js 中根据逻辑的执行结果跳转到某个页面,比如:如果检测到用户尚未登录就需要给他跳转到登录页面 navigate 跳转到一个新的页面,会新增一条历史记录,并且可以通过左

    2024年02月09日
    浏览(28)
  • uniapp 微信小程序 路由跳转

    保留当前页面,跳转到应用内的某个页面,使用 uni.navigateBack 可以返回到原页面 uni.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面。 uni.reLaunch(OBJECT) 关闭所有页面,打开到应用内的某个页面。       怎么隐藏左上角按钮       生命周期加入 会隐藏左上角按钮(必须

    2024年02月11日
    浏览(48)
  • 小程序路由跳转页面重复问题

    目标:想要某个页面在历史中(页面栈)只显示一次 什么是页面栈: 在小程序开发中,页面栈是指小程序当前打开的页面的层级关系堆栈。每当打开一个新页面时,它会被放置在页面栈的顶部,而 当前页面就位于栈的最顶层 。通过调用`getCurrentPages()`方法,可以获取到当前

    2024年02月02日
    浏览(25)
  • 微信小程序中路由跳转方式

    常见的微信小程序页面跳转方式有如下: wx.switchTab(Object) : 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 (面全部出栈,只留下新的 Tab 页面) wx.reLaunch(Object) : 关闭所有页面,打开到应用内的某个页面 (页面全部出栈,只留下新的页面) wx.redirectTo(Object) : 关闭当前

    2024年04月29日
    浏览(43)
  • 微信小程序常用路由跳转方法

            navigator 标签         属性:                 url:要跳转的路径(可以使用相对路径,也可以使用绝对路径)                 open-type:跳转方式。默认值为 navigat ,不能跳转至tabBar页面。                                     当值为  swi

    2024年02月09日
    浏览(46)
  • uniapp小程序路由跳转,使用uni.navigateBack方法,实现跳转传参

    由于小程序跳转限制10层,为了尽可能的减少页面栈,在小程序中会用到uni.navigateBack()方法,使用中难免会遇到页面跳转之间传参的问题。uni.navigateBack和uni.navigateTo、uni.redirectTo方式不同,不能通过路由拼接的方式传参,以下是三种跳转的方法: 在小程序中uni.navigateTo和u

    2024年02月16日
    浏览(62)
  • 微信小程序路由以及跳转页面传递参数

    路由 在app.json的pages里面写 \\\"pages/页面/页面\\\" 直接保存pages直接生成非常方便  跳转页面 wx.navigateTo() 保留当前页面,跳转到应用内的某个非tabBar页面。 text bindtap=\\\"daka\\\"点击/text 会保留返回箭头 底部导航跳转在app.json写入即可 传参以及接收参数 1、本地存储 使用方法:和js差不

    2024年02月11日
    浏览(56)
  • 微信小程序路由跳转,API调用,页面传值

    wx.switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 wx.reLaunch 关闭所有页面,打开到应用内的某个页面。 wx.redirectTo 关闭当前页面,跳转到应用内的某个页面。但是不能跳转到 tabbar 页面。 wx.navigateTo 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包