wx-rss.js 一个轻量级的事件订阅器,主要解决微信小程序跨页面传参问题

网友投稿 1087 2022-10-18

wx-rss.js 一个轻量级的事件订阅器,主要解决微信小程序跨页面传参问题

wx-rss.js 一个轻量级的事件订阅器,主要解决微信小程序跨页面传参问题

wx-rss.js

概述

一个轻量级的事件订阅器,主要解决微信小程序跨页面传参问题

API

1.on(name,callback,context)

绑定订阅

name 必填参数,string类型,指定订阅的事件名称callback 必填参数,function类型,订阅事件进行响应时的回调函数context 可选参数,number类型,指定上下文,默认为0,可重复创建订阅,指定后相同context不会重复创建

2.one(name,callback)

单次绑定,与on用法相同,但执行完done方法后自动清空订阅

3.done(name,params)

响应订阅事件,params作为参数返回给callback

4.off(event_obj / event_string) 解除绑定

当event数据类型是string时,取消绑定当前所传入event事件名称当event数据类型是obj时,取消绑定当前订阅对象

// 解绑方式一:只解绑当前订阅,不会取消关于名字为'a'的所有订阅 let a = res.on('a',()=>{}); res.off(a); // 解绑方式二:解绑name为'a'的所有订阅 rss.off('a');

5.clear()

清除所有订阅事件

使用

1.引入

import rss from 'rss.js' // or const rss = require('rss.js');

2.例子

父页面 --A页面

Page({ /* 打开页面时进行订阅 */ onLoad(){ rss.on('example',(req)=>{ // req 为子页面传递参数 console.log(req.name); // result: 'Jxz' console.log(req.age); // result: 23 }); }, /* 关掉页面时卸载订阅 */ onUnload(){ rss.off('example'); } })

子页面 --B页面

Page({ onLoad(){ rss.done('example',{ // 响应事件,对象为返回参数 name:'Jxz', age:23 }); } })

上述为一些简单用法,下面是一些需要注意的点

注意

1.如果当前父页如果是2级页面,当返回上一级时不对订阅进行off解绑,再次进入当前页会进行重复绑定

2.注意onShow等容易进行重复绑定的地方,可以考虑放在onLoad中绑定或用one方法进行单次绑定,亦或是用on方法中context参数进行指定

联系方式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Nginx listen指令处理连接请求
下一篇:Haproxy ACL规则实现智能负载均衡
相关文章

 发表评论

暂时没有评论,来抢沙发吧~