在微信小程序开发的过程中,难免会遇到switchTab传参这种情况,下面记录下处理方式,希望所有帮助
描述功能场景
比如从index.wxml页面跳转到tabbar中的log.wxml页面
习惯性的传参方式如下
wxml
wx.switchTab({
url: '/yb_mingpian/pages/newIndex/newIndex?is_first_login=1',
});
js接收参数也是如下
onLoad:function(e){
console.log (e)
}
如果这时候打印数据肯定是空 接收不到的
然后官方文档也给出我们明确的提示 路径后不能带参数跳转
因此传参这种方式是行不通的
可以换种思路解决如下
传参是为了有个标识,是为了下一个页面更方便的展示信息。我们可以在switch跳转之前设置一个全局变量,到下一个页面的时候,直接去获取全局变量
在index.wxml中
getApp().globalData.is_first_login=1, // 后面的值根据需要自己替换
wx.switchTab({
url: '/yb_mingpian/pages/newIndex/newIndex?is_first_login=1',
});
存全局变量的时候 页面中需引用var app = getAPP()
var app = getApp()
在log.wxml页面中接收参数时
onLoad: function(n) {
console.log (getApp().globalData.is_first_login)
// 可以得到我们在上个页面设置的全局变量 这个时候就可以使用这个全局变量进行操作了
}
希望以上对有需要的你有帮助~