微信小程序有多种页面跳转以及传值方式。

官方给出了navigateTo / redirectTo / switchTab / navigateBack / reLaunch ,这五种方式,其中navigateTo这个我有一篇博文中有讲到。我们今天就讲讲这个switchTab,剩下几个,后面在进行讲解。

我们还是按照惯例,查看官方的文档,这里提到,跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,也就是使用了其他方式跳转的页面会被关闭,直接打开tabBar 页面,这里还有一个坑就是路径后面不能带参数,等下我们着重解决这个传值问题。

方式一:全局参数(推荐)

在app.js中定义全局参数

globalData: {
    userInfo: null,
    categoryInfo:{
      categoryId:'',
      categoryName:''
    }
  }

在调用的页面

var categoryInfo = getApp().globalData.categoryInfo;

//赋值
categoryInfo.categoryId = categoryId;
categoryInfo.categoryName = categoryName;

跳转的页面

 that.setData({
    categoryId : categoryInfo.categoryId,
    category : categoryInfo.categoryName
})

方式二:本地数据缓存方式(不推荐)

wx.setStorage(同步缓存)
wx.setStorageSync(异步缓存)

这里不推荐这种方式的原因是缓存数据可能会出现问题。 

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐