评论

小程序 跳转传参 技能升级

小程序 跳转传参 技能升级


方案一:

//A页面 实现跳转

      jump: function () {

         let a = 1;

         let b = 2;

      wx.navigateTo({

            url: '/page/b/b?data1=' + a + '&data2=' + b

       })

  }

  //B页面  接收参数
         onLoad: function (options) {
                //此时A页面传递的参数由options接收,A页面传递参数时的参数名分别叫data1和data2,所以B页面想拿到A页面传递的参数拿对应的参数名即可
                  let data1 = options.data1;
                  let data2 = options.data2;
 
              console.log(data1);//输出的结果是  1
              console.log(data2);//输出的结果是  2
 
}


方案二:

a页面
 godeposit(e) {
      // console.log(e.currentTarget.dataset)
      let aa =JSON.stringify(e.currentTarget.dataset);
      app.navigateTo("pages/my/deposit/deposit?data1="+ aa)
    }
b页面
onLoad: function (options) {
    let a =JSON.parse(options.data1);
     console.log(a)
}

方案三:最新方案,解决大数据传输问题:

参考文档: EventChannel | 微信开放文档

传参模式:

let obj = {
  disease_ids: strIds,
  disease_name: strNames,
}
uni.navigateTo({
 // url:`/packageA/pages/estimateQuestion/estimateQuestion?disease_ids=${strIds}&disease_name=${strNames}`,
  url:`/packageA/pages/estimateQuestion/estimateQuestion`,
  success: function (res) {
    res.eventChannel.emit('getData', obj)  //触发事件
  }
})



接收模式:

onLoad: function(options) { //接收页面
	const eventChannel = this.getOpenerEventChannel();
	eventChannel.on("getData",data => {
	 	console.log(data)
	});
}







点赞 3
收藏
评论
登录 后发表内容