当前位置:网站首页>微信小程序路由再次跳轉不觸發onload

微信小程序路由再次跳轉不觸發onload

2022-07-05 06:26:00 Heerey525

情况:

1、從index頁面跳轉(wx.navigateTo)到add頁面,第一次會進入add頁面onLoad,但是第二次從index頁面跳轉(wx.navigateTo)到add頁面,則不會進入add頁面的onLoad
2、從add頁面跳轉(wx.redirectTo)到index頁面,不會進入index頁面onLoad

原因:

在首次進入一個頁面的時候,會進入該頁面的onLoad,但是跳來跳去,其實路由並沒有銷毀,該頁面已經存在路由棧,所以被緩存起來,並不會再次進入onLoad

解决方法:

1、在onShow中進入取路由參數

onShow: function () {
    
    // 獲取當前小程序的頁面棧 
    let pages = getCurrentPages(); 
    // 數組中索引最大的頁面--當前頁面 
    let currentPage = pages[pages.length-1]; 
    // 打印出當前頁面中的 options 
    console.log(currentPage.options)
}

2、switchTabsuccess回調中添加onLoad方法

wx.switchTab({
    
    url: '../index/index',
    success: function(e) {
    
      var page = getCurrentPages().pop();
      if (page == undefined || page == null) return;
      page.onLoad();
    }
})

參考資料:
小程序框架 /邏輯層 /頁面路由
小程序使用 wx.navigateTo跳轉到到頁面,頁面中的onload不執行?
微信小程序 switchTab跳轉後新頁面 onload 不觸發的問題

原网站

版权声明
本文为[Heerey525]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/07/202207050623068692.html