个人总结一下switchTab的使用注意事项
1. 切换到首页tabbar对应的文件,必须使用
wx.switchTab({ url:'pages/home/index/index' })而使用wx.navigateTo是不会跳转到tabbar对应的相关页面的,所以这里写法是错误的
wx.navigateTo({ url:'pages/home/index/index' })2.关于使用switchTab跳转页面 ,页面数据不更新的解决方案
let url = "xx/xx/xx"; wx.switchTab({ url : url, success(res){ let page = getCurrentPages().pop(); if(page == undefined || page == null){ return } page.onLoad(); } })3.而针对switchTab不能带参数的解决方案就更容易解决了--------定义app全局变量
首先在小程序项目文件里找到app.js,在APP({})内注册全局变量
globalData: { idClassify: null, },在需要携带参数的页面.js文件引入app,比如pages/index/index.js
var app = getApp();在具体方法里使用的时候,进行跳转页面时定义要跳转到的页面的全局变量的当前值
app.globalData.idClassify = 3;然后再需要接受参数的页面的.js文件引入app
var app = getApp(); //这一点与上面携带参数来的页面使用一样接着在需要接受参数的页面的.js文件的onLoad方法中获取参数
if(app.globalData.idClassify && app.globalData.idClassify != ""){ this.setData({ "page.classify_id":app.globalData.idClassify }) } if(options.idClassify && options.idClassify != ""){ this.setData({ "page.classify_id":options.idClassify }) }