wx.navigateTo惜纸、wx.redirectTo、wx.reLaunch绝骚、wx.switchTab和wx.navigateBack有什么區(qū)別呢耐版?
wx.navigateTo:
用于保留當前頁面、跳轉(zhuǎn)到應用內(nèi)的某個頁面压汪,使用 wx.navigateBack可以返回到原頁面粪牲。對于頁面不是特別多的小程序,通常推薦使用 wx.navigateTo進行跳轉(zhuǎn)止剖, 以便返回原頁面腺阳,以提高加載速度。當頁面特別多時滴须,則不推薦使用舌狗。
wx.redirectTo:
當頁面過多時叽奥,被保留頁面會擠占微信分配給小程序的內(nèi)存扔水,或是達到微信所限制的 5 層頁面棧。這時應該考慮選擇 wx.redirectTo朝氓。wx.redirectTo()用于關閉當前頁面魔市,跳轉(zhuǎn)到應用內(nèi)的某個頁面。這樣的跳轉(zhuǎn)赵哲,可以避免跳轉(zhuǎn)前頁面占據(jù)運行內(nèi)存待德,但返回時頁面需要重新加載,增加了返回頁面的顯示時間枫夺。
wx.reLaunch:
wx.reLaunch()與 wx.redirectTo()的用途基本相同将宪, 只是 wx.reLaunch()先關閉了內(nèi)存中所有保留的頁面,再跳轉(zhuǎn)到目標頁面橡庞。
wx.switchTab:
對于跳轉(zhuǎn)到 tab bar 的頁面较坛,最好選擇 wx.switchTab(),它會先關閉所有非 tab bar 的頁面扒最。其次丑勤,也可以選擇 wx.reLaunch(),它也能實現(xiàn)從非 tab bar 跳轉(zhuǎn)到 tab bar吧趣,或在 tab bar 間跳轉(zhuǎn)法竞,效果等同 wx.switchTab()耙厚。使用其他跳轉(zhuǎn) API 來跳轉(zhuǎn)到 tab bar,則會跳轉(zhuǎn)失敗岔霸。
wx.navigateBack:
用于關閉當前頁面薛躬,并返回上一頁面或多級頁面。開發(fā)者可通過 getCurrentPages() 獲取當前的頁面棧呆细,決定需要返回幾層泛豪。這個 API 需要填寫的參數(shù)只有 delta,表示要返回的頁面數(shù)侦鹏。若 delta 的取值大于現(xiàn)有可返回頁面數(shù)時诡曙,則返回到用戶進入小程序的第一個頁面。當不填寫 delta 的值時略水,就默認其為 1(注意价卤,默認并非取 0),即返回上一頁面渊涝。
本文來自木莊網(wǎng)絡博客> wx.navigateTo慎璧、wx.redirectTo、wx.reLaunch跨释、wx.switchTab和wx.navigateBack的區(qū)別