[微信小程序] tabBar、導航相關


小程序可以藉由頁面設置 tabBar 來定義全局的 tabBar (如下圖),官方文件在此

wx.switchTab()、wx.reLaunch()

當如果導向的頁面是 tabBar 其中一員,要使用 wx.switchTab()wx.reLaunch()wx.navigateTo()wx.redirectTo() 不作用。

需注意 wx.switchTab(),路徑不支援參數攜帶。

tabBar 頁面只在第一次載入時進入生命週期

頁面生命週期為 onLoad(), onShow(), onReady(),若為 tab 頁面,只會在第一次時進入 onLoad(), onReady()。若要每次都執行,需將執行程式放在onShow()

若使用 wx.switchTab() 方式導向 (而非點擊下方 tabBar),可以透過一些做法令其重整 (來源):

wx.switchTab({
    url:'/pages/index/index',
    success(){
        // 是否有上一頁
        let page = getCurrentPages().pop();
        if (page == undefined || page == null) {
            return;
        }
        page.onLoad();
    }
})

或是透過 wx.reLaunch() 方法進行導向,該方法將關閉所有頁面。


參考資料:


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *