记录关于微信小程序tabBar不进入onLoad函数的坑

1,083 阅读29分钟

笔者这两天做微信小程序开发,遇到了两次进入tabBar的页面 不加载onLoad函数的问题

第一个问题:

                       

笔者的逻辑是:

1.用户先在首页点击授权并登录

2.再点击我的,就可以看到用户的微信名和头像

注意!!!:如果用户按照我这个正常的逻辑就不会有问题 ,但笔者试了一下,如果我手贱,不先点击首页授权并登录 , 然后再进入我的 ,而是一来就点击我的,等我的加载完后,再切回首页,点击授权并登录 ,再切换到我的页面时,就会出问题!!

因为重新进入tabBar我的页面 后不再进入onLoad函数,由于笔者是在onLoad函数中更新数据,结果不进入了,啥都拿不到!!

解决方案

   呵呵,在onShow函数里面强制进入一遍onLoad

第二个问题:

笔者解决好上一个问题后,点击 授权并登录 进入到一个登录页面填好自己的ID和密码后,点击登录 使用wx.switchTab再次进入首页的时候!!结果又没有刷新数据

笔者以为又是上一种问题 , 果断onShow里面再执行一下this.onLoad函数,结果还是无效

原因笔者猜测是因为  从非tabBar页面的其它页面用wx.switchTab切到tabBar页面的时候可能连生命周期函数都不会进入加载......

解决方案:

换wx.reLaunch就对了