洞察移动政务小程序助力政府数字化转型,保障数据安全和效率提升
1149
2022-10-18
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~