微信小程序 某個(gè)頁(yè)面直接返回首頁(yè)(微信小程序回退到首頁(yè))
打開(kāi)小程序后奢人,到三級(jí)頁(yè)面后點(diǎn)擊左上角的返回按鈕众辨,能夠直接返回到首頁(yè)
正常 A -> B -> C 都是通過(guò) wx.navigateTo 跳轉(zhuǎn)的较解,所以 wx.navigateBack 只能返回上一界面笤昨,如果要返回到A 界面就會(huì)出現(xiàn) C -> B -> A 的效果我注。
如果想實(shí)現(xiàn) A -> B -> C 當(dāng) C 點(diǎn)擊返回時(shí)捆憎, 實(shí)現(xiàn)直接 C -> A 這種效果舅柜, 就只能A -> B 通過(guò) wx.navigateTo 跳轉(zhuǎn) ,
B -> C 通過(guò) wx.redirectTo 跳轉(zhuǎn)躲惰,跳轉(zhuǎn)觸發(fā)后 B 頁(yè)面就會(huì)被銷(xiāo)毀致份, C 頁(yè)面再返回 wx.navigateBack 就會(huì)直接到 A 了。
例如:
第一個(gè)頁(yè)面采用navigateTo礁扮,
wx.navigateTo({
url: '/pages/logs/logs',
})
在第二個(gè)頁(yè)面中使用redirectTo知举。
wx.redirectTo({
url: '/pages/test/test',
})
這里是重點(diǎn):
在第三個(gè)頁(yè)面點(diǎn)擊回退時(shí),會(huì)直接回到第一個(gè)頁(yè)面
太伊。(wx.redirectTo()跳轉(zhuǎn)到新頁(yè)面之后雇锡,會(huì)自動(dòng)銷(xiāo)毀上一個(gè)頁(yè)面,在新頁(yè)面點(diǎn)擊返回按鈕時(shí)僚焦,會(huì)直接回到上上一個(gè)頁(yè)面)
這是相當(dāng)于在這個(gè)回退過(guò)程中直接銷(xiāo)毀第二個(gè)頁(yè)面
小程序5種跳轉(zhuǎn)頁(yè)面方式的區(qū)別:
//只能跳轉(zhuǎn)到tabBar配置頁(yè)面
wx.switchTab({
url: '/pages/index/index',
});
//返回上一級(jí)頁(yè)面(delta:返回的頁(yè)面數(shù)锰提,如果 delta 大于現(xiàn)有頁(yè)面數(shù),則返回到首頁(yè),默認(rèn)值為1)
wx.navigateBack({
delta: 2 //默認(rèn)值是1
})
//關(guān)閉當(dāng)前頁(yè)面立肘,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面
wx.redirectTo({
url: '/pages/index/index',
});
//保留當(dāng)前頁(yè)面边坤,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面
wx.navigateTo({
url: '/pages/index/index',
});
// 關(guān)閉所有頁(yè)面,打開(kāi)到應(yīng)用內(nèi)的某個(gè)頁(yè)面
wx.reLaunch({
url: '/pages/index/index',
})