最近在寫小程序,遇到頁面跳轉時,發現有幾次失敗。查詢資料已解決,總結一下知識點:
一、如下,第5層到到6層時失敗(評論頁⑤-->返回商品詳情頁⑥)
登陸①-->主頁②-->商品列表頁③-->商品詳情頁④-->評論頁⑤-->返回商品詳情頁⑥
1.wx.navigate:可以基本滿足頁面之間跳轉需求,但是層級關系不要超過5層,最多5層。
2.wx.redirectTo:當層級關系超過5層時,頁面跳轉采用這個。
二、第2層到到3層時失敗(反饋建議②-->返回"我的"頁③)
我的①-->反饋建議②-->返回"我的"頁③
此時,沒有超過5層,但wx.navigateTo和wx.redirectTo都無效,怎么做都不跳轉,后來查了小程序的API,找到了原因,因為"我的"頁是tabbar頁面。
3.wx.switchTab: 需要跳轉到tabbar頁面,需要用 wx.switchTab

4.三個跳轉的使用方法一致,均為:
wx.redirectTo({ url: '../addAddress/addAddress' }) wx.navigateTo({ url: '../addAddress/addAddress' }) wx.switchTab({ url: '../myInfo/myInfo' })
總結
所以,當下次需要跳轉頁面時
①、首先檢查頁面是否在app.json中注冊,不注冊找不到頁面。
②、注意文件夾的層級關系,注意相對路徑是否正確。
③、查看一次性跳轉頁面的層級數量是否超過5層(是,選擇wx.redirectTo)。
④、查看要跳轉的頁面是不是tabBar頁面(是,選擇 wx.switchTab)。
