微信小程序-EventChannel的使用

用途

在两个页面之间需要传递大量数据时的页面间通信 — 并非真正意义上的全局消息中心

有可能的使用场景:

1.数据预加载(在前一个页面加载好数据后传递给后一个页面)

2.传递用户数据(比如保存草稿或者带出用户选择的数据)

常用API

直接参考小程序官方文档 点击这里跳转

如何使用

step1:在第一个页面的路由跳转中注册事件

如图所示:在其中加入 events属性 它的key值就是注册事件的名称

在这里插入图片描述

step2:在第二个页面的生命周期内订阅事件

在onLoad, onShow内都可以

在这里插入图片描述

兼容性

基础库 2.7.3 开始支持

低于这个版本会抛错 所以使用之前一定在app.js 全局检查 是否适用 不适用的情况要提醒用户升级微信

兼容性检查代码(已经封装好了)

class Compatible {
    constructor() {

    }

    compareVersion(v1, v2) {
        v1 = v1.split('.')
        v2 = v2.split('.')
        const len = Math.max(v1.length, v2.length)

        while (v1.length < len) {
            v1.push('0')
        }
        while (v2.length < len) {
            v2.push('0')
        }

        for (let i = 0; i < len; i++) {
            const num1 = parseInt(v1[i])
            const num2 = parseInt(v2[i])

            if (num1 > num2) {
                return 1
            } else if (num1 < num2) {
                return -1
            }
        }

        return 0
    }
    SDKVersion() {
        return wx.getSystemInfoSync().SDKVersion
    }
    EventChannel() {
        return new Promise((resolve, reject) => {
            if (this.compareVersion(this.SDKVersion(), '2.7.3') < 0) {
                wx.showModal({
                    title: '温馨提示',
                    content: '当前微信版本过低,请尽快升级您的微信版本',
                    showCancel: false,
                    cancelColor: '#000000',
                    confirmText: '我明白了',
                });
                reject()
            } else {
                resolve()
            }
        })
    }
}
export default new Compatible()

使用
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值