这种方式跳转到tabBar页面,并关闭其他所有非tabBar页面

    使用这种方式跳转需要事先在app.json中定义好tabBar,如示例3-11所示

    1. app.json
    2. ------------------------------
    3. {
    4. "pages":[
    5. "pages/sample/sample",
    6. "pages/index/index",
    7. "pages/navigate/navigate",
    8. "pages/redirect/redirect",
    9. "pages/logs/logs"
    10. ],
    11. "window":{
    12. "backgroundTextStyle":"light",
    13. "navigationBarBackgroundColor": "#fff",
    14. "navigationBarTitleText": "WeChat",
    15. "navigationBarTextStyle":"black"
    16. },
    17. "tabBar": {
    18. "list": [
    19. {
    20. "pagePath": "pages/index/index",
    21. "text": "首页"
    22. },
    23. {
    24. "pagePath": "pages/logs/logs",
    25. "text": "其他"
    26. }
    27. ]
    28. }
    29. }
    30. -------------------------------------------------------------------------------
    31. sample.wxml
    32. -------------------------
    33. <navigator open-type='switchTab' url='/pages/index/index'>
    34. 跳转到其他tab
    35. </navigator>
    36. <button bindtap='switchTab'>单击按钮,执行wx.switchTab,跳转到其他tab</button>
    37. -----------------------------------------------------------------------------------
    38. sample.js
    39. -----------------------------
    40. Page({
    41. ...省略其他代码
    42. switchTab: function(){
    43. wx.switchTab({
    44. url: '/pages/index/index',
    45. })
    46. }
    47. })

    示例3-11中,首先在app.json的tabBar配置项中配置好index页和logs页,并且在pages配置项中设置sample为首页

    然后在sample页面中单击“跳转到其他tab”链接或按钮跳转到index页

    需要注意的是,通过switchTab的方式跳转页面,url上不能带参数