微信小程式:報錯(in promise) MiniProgramError {「errMsg「:「navigateTo:fail can not navigateTo a tabbar page「}

2020-10-29 11:00:25

今天學習了小程式實現路由跳轉,我在操作的時候在控制檯出現以下錯誤資訊。

在這裡插入圖片描述
翻譯過來的意思是:(承諾中)微程式錯誤{「errMsg」:「n」avigateTo:故障can未導航到索引標籤頁「}物件

問題原因:
經過查閱資料,知道使用navigateTo路由跳轉方式,保留當前頁面,跳轉到應用內的某個頁面。但是不能跳到 tabbar 頁面。

解決辦法:只需在js檔案的點選事件中,設定跳轉的url地址與tabbar中的跳轉地址不一樣就ok.

我就簡單說一下我用navigateTo方式實現的小程式路由跳轉過程
1.觸發一個點選事件

<view bindtap="toDetail"></view>

  

2.在js檔案中設定路由跳轉

 // 路由跳轉
  toDetail(){
    wx.navigateTo({   
      url:"/pages/detail/detail"
   })
  },

  

navigateTo路由跳轉方式可以實現歷史回退
大家也可以去了解一下其他的路由跳轉方式
其他路由的一些簡單介紹:

wx.navigateTo()  帶歷史回退,不能跳轉到tabbar頁面

wx.redirectTo() 不保留歷史,跳轉到另一個頁面,不能返回到上一頁面
//相當於vue中的路由跳轉方式this.$router.replace()

wx.switchTab() 只跳轉到tabBar頁面,不帶回退

wx.reLaunch() 即能跳轉到tabBar頁面,也能跳轉到非tabBar頁面,不帶歷史回退

關於路由詳解可查閱官方檔案:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html

谷歌研發技術團隊 高階軟體工程師 前端技術部落格專家 CSDN技術博主
提供於網際網路搜尋、雲端計算、廣告技術,開發並提供大量基於網際網路的產品與服務,開發線上軟體、應用軟體,及移動裝置的Android作業系統以及作業系統谷歌ChromeOS作業系統的開發。