微信小程序--页面间传递数据的方式
一、设置为全局变量,在另一个页面再获取这个变量
二、通过wx.navigateTo()的url传值
三、通过wx.navigateTo()的success建立一条数据通道
传递数据的页面
data: { data1:"第一个页面的值" }, //在wxml页面设置一个按钮,并绑定事件ddd ddd:function(){ var _this = this //在回调函数中不能通过this直接获取和设置data里的值 //转到下一个页面 wx.navigateTo({ url: '../demo6/demo6', //下一个页面的地址 //events的作用是接受下一个页面传回来的参数,如果不需要可不写 events:{ dataname2:function(data){ console.log(data) } }, //关键部分!!!在回调函数中运用.eventChannel.emit('参数名称', {data:参数值})即可将此参数传到要转到的页面 success: function (res) { res.eventChannel.emit('dataname1', {data:_this.data.data1}) } }) },
接收数据的页面
onLoad: function (options) { //创建获取对象 const event = this.getOpenerEventChannel() //对应上一个页面的events事件,如果不需要可不写 event.emit('dataname2', {data: "第二个页面的值"}) //关键部分!!!通过获取到的对象.event.on('参数名称',function(data)来获取参数值,结果保存在data里 event.on('dataname1',function(data){ console.log(data) }) )