微信小程序前端頁面跳轉有多種方式,匯總如下:
Tips:
小程序前端的頁面跳轉之后,跳轉之前的頁面並不會憑空消失,而是存進了一個類似“頁面棧”的空間里;
只有當這個所謂的“頁面棧”滿了之后頁面才會退出棧(遵循隊列先進先出規則)
一、JS跳轉方式
①navigateTo
wx.navigateTo({ url: '/pages/good/index/index?id=1', success:function(){}, fail:function(){}, complete:function(){} })
路徑限制規則:應用內非 tabBar 的頁面的路徑
②navigateBack
wx.navigateBack({ delta: 2 })
參數說明:delta參數是指回跳到頁面棧的倒數第n個頁面,如果頁面棧頁面數量少於該參數,那么返回首頁
③redirectTo
wx.redirectTo({ url: '/pages/good/index/index?id=1', success:function(){}, fail:function(){}, complete:function(){} })
路徑限制規則:應用內非 tabBar 的頁面的路徑
④switchTab
wx.switchTab({ url: '/pages/index/index', success:function(){}, fail:function(){}, complete:function(){} })
路徑限制規則:應用內 tabBar 的頁面(需在 app.json 的tabBar字段定義的頁面)的路徑,並關閉其他非tabBar頁面
⑤reLaunch
wx.reLaunch({ url: '/pages/good/index/index?id=1', success:function(){}, fail:function(){}, complete:function(){} })
路徑限制規則:應用內任意頁面的路徑
二、WXML方式跳轉
wxml頁面實現頁面跳轉有一個標簽<navigator url="xxx" open-type="xxx">點擊跳轉</navigator>
這里是根據open-type的值來定義跳轉的方式的:
①navigate
默認值,對應wx.navigateTo跳轉方式或 wx.navigateToMiniProgram跳轉方式
②navigateBack
對應wx.navigateBack跳轉方式
③redirect
對應wx.redirectTo跳轉方式
④switchTab
對應wx.switchTab跳轉方式
⑤reLaunch
對應wx.reLaunch跳轉方式
⑥exit
退出小程序,當target="miniProgram"時生效