微信小程序含tabBar页面跳转失效问题

微信小程序含tabBar页面跳转失效问题,第1张

wx.navigateTo 和 wx.redirectTo 是不允许跳转到 tabbar 页誉颤面的,

所以如果需要跳转到含有tabbar的页面,只能用 wx.switchTab 跳转。

            wx.switchTab({

       庆前败           url: '../home/home'

         悔此   })

在一个微信小程序中想要用到两种不同的tabbar样式,需要在app.js中自定义,在页面加载时进行调用。

比如一个小程序需要两个版本(用户版、商家版),并且能通过一闷昌个按钮在两个版本间进行切换,可能会用到这种方式。

此处以两个页面(index,logs)显示两种tabbar样橡粗式为例,通过切换按钮梁罩镇进行切换。

首先有一个模板文件:tabbar.wxml

在app.json中无需定义“tabBar”

在app.js中自定义如下

在app.wxss中定义显示样式

index.wxml,用到自定义tabbar的页面的首部都需要引入模板文件

index.js

logs.js

加载自定义tabbar的那句话(app.editTabBar)写在onload或onshow中都可以。

只写了两个主页面,其他页面可自行定义跳转。

最后放上效果图:

wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.reLaunch:关闭所有页面,打开到应用内的某个页面。

wx.reLaunch是可以跳斗伍雀转到tabBar页面的。它和wx.switchTab的区别就是:前者空早可以触发onLoad事件,而后者则不能触发。所以通过wx.reLaunch跳转到tabBar的方式完美解决了不能刷新的问题。

在小程序项目中 我发现 wx.switchTab 跳转是触发onLoad事件  但是只会触发一次 如果我通过退出登录 是不会再次触发onLoad事件 的 而wx.reLaunch是可以跳转到tabBar页面橘余的 再次触发onLoad事件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8263042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存