微信小程序--页面间传递数据的方式

一、设置为全局变量,在另一个页面再获取这个变量

 

二、通过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)
    })
)

 

posted @ 2023-11-24 13:20  小那  阅读(183)  评论(0编辑  收藏  举报