mpVue + 小程序 ,页面传参 - Go语言中文社区

mpVue + 小程序 ,页面传参


一般参数

  • a 标签:使用 Html 的 a 标签,href 参数,例如:
<a href="/page/test/main?id=1">
  • 使用小程序的组件:navigator
<navigator url="/page/test/main?id=1">
跳转到新页面
</navigator>
  • 使用小程序路由 API
wx.switchTab()     只能在已经定义了 tabBar 页面时才起作用,也就是在 app.json 文件tabBar 配置项中已有的页面才会出现 tabBar ,也才能使用 wx.switchTab() 跳转。
// 因为wx.switchTab({})不可以传递参数。可以换一种思路,跳转页面的时候传参,是为了有个标识,是为了下一个页面更方便的展示信息。我们可以在switch跳转之前设置一个全局变量,到下一个页面的时候,直接去获取全局变量

getUserlist:function(id){
getApp().id=id
wx.switchTab({
  url: '/index',
  success:function(res){
  }
})
}

// 在获取数据js页面
onLoad(options){
	id = getApp().id
}
// wx.navigateTo({}) 传参 可以直接在 url 后面拼接
wx.navigateTo({
  url: 'test?id=1',
  })
  • 小程序中路由传参
 (1)在onLoad中
// test.js
Page({
  onLoad(option) {
    console.log(option.query)
  }
})

(2) 在mounted函数里:

通过 this.$root.$mp.query 获取小程序在 page onLoad 时候传递的参数。

通过 this.$root.$mp.appOptions 获取小程序在 app onLaunch/onShow 时候传递的参数。

对象参数传递

//将对象转为string
  var queryBean = JSON.stringify(要传递的对象)
  wx.navigateTo({
   url: '../queryResult/queryResult?queryBean=' + queryBean,
  })
// queryResult 页面接收参数
// 将传递的 JSON  解析成对象
onLoad: function (options) {
  var that=this
  var queryBean = JSON.parse(传递过来的 数据);
  that.setData({
   queryBean: queryBean
  })
 }
  • 上面方式如果报错
    在这里插入图片描述
    这时候就需要使用:encodeURIComponent(data) 和 decodeURIComponent()方法编译 JSON数据
//将对象转为string
  var queryBean = JSON.stringify(encodeURIComponent(要传递的对象))
  wx.navigateTo({
   url: '../queryResult/queryResult?queryBean=' + queryBean,
  })
// queryResult 页面接收参数
// 将传递的 JSON  解析成对象
onLoad: function (options) {
  var that=this
  var queryBean = JSON.parse(decodeURIComponent(传递过来的 数据));
  that.setData({
   queryBean: queryBean
  })
 }
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44875693/article/details/104494162
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢