关于微信小程序wx.switchTab() 和wx.navigateBack()无法传递参数的两种解决方法

1.把参数保存在全局里

关于微信小程序wx.switchTab() 和wx.navigateBack()无法传递参数的两种解决方法_第1张图片

官方文档上写明无法传递参数,可以吧参数保存在全局上使用

解决方法如下:

//a.js
const app = getApp();
go_index:function(e){
//获取身份id 保存到全局里
var shenfen_id = e.currentTarget.id;
app.globalData.shenfen_id = shenfen_id       //把本页面需要传递的参数保存在全局上

wx.switchTab({
url: '/pages/index/index',
})
},


//index.js
onLoad: function (options) {
var that = this;
// 判断是哪一种身份进入的首页
var shenfen_id = app.globalData.shenfen_id     //从全局里获取需要的参数

if (shenfen_id==1){
that.setData({
h_show:false
})
}
else{
that.setData({
h_show: true
})
}


2.把参数保存在本地

关于微信小程序wx.switchTab() 和wx.navigateBack()无法传递参数的两种解决方法_第2张图片

解决方法如下:

//b.js
back:function(e){
var that = this;
var value = e.currentTarget.dataset.concent;      //把本页面需要传递的参数保存在本地缓存里
wx.setStorageSync('concent', value);

wx.navigateBack({                                           //返回上一级页面页面c页面
delta: 1,
})

},

//c.js
onShow: function () {
var that = this;
// this.onLoad();
var value = wx.getStorageSync('concent');        //从本地缓存获取需要的参数

if (tittle_name == "选择学校") {
that.setData({
value: value,
})
}
else {
that.setData({
value1: value,
})
}

},

你可能感兴趣的:(微信小程序)