navigateTo
redirectTo
(1)保留當前頁面,跳轉到應用內的某個頁面,使用uni.navigateBack可以返回到原頁面
(如果A->B來回頻繁切換,不要A B兩個方法都使用這個方法。)
//在起始頁面跳轉到test.vue頁面並傳遞參數
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
頁面跳轉路徑有層級限制,不能無限制跳轉新頁面
跳轉到 tabBar 頁面只能使用 switchTab 跳轉
(2)關閉當前頁面,跳轉到應用內的某個頁面
需要跳轉的應用內非 tabBar 的頁面的路徑,
路徑后可以帶參數。參數與路徑之間使用?分隔,
參數鍵與參數值用=相連,不同參數用&分隔;如 'path?key=value&key2=value2'
uni.redirectTo({
url: 'test?key=value&key2=value2'
});
(3)
uni.reLaunch(OBJECT)
關閉所有頁面,打開到應用內的某個頁面。
H5端調用uni.reLaunch之后之前頁面棧會銷毀,
但是無法清空瀏覽器之前的歷史記錄,此時navigateBack不能返回,
如果存在歷史記錄的話點擊瀏覽器的返回按鈕或者調用history.back()仍然可以導航到瀏覽器的其他歷史記錄。
跳轉到 tabBar 頁面,並關閉其他所有非 tabBar 頁面。
(4)uni.switchTab(OBJECT)
跳轉到 tabBar 頁面,並關閉其他所有非 tabBar 頁面。
(5)uni.navigateBack(OBJECT)
關閉當前頁面,返回上一頁面或多級頁面。可通過 getCurrentPages() 獲取當前的頁面棧,決定需要返回幾層。
navigateTo, redirectTo 只能打開非 tabBar 頁面。
switchTab 只能打開 tabBar 頁面。
reLaunch 可以打開任意頁面。
頁面底部的 tabBar 由頁面決定,即只要是定義為 tabBar 的頁面,底部都有 tabBar。
不能在 App.vue 里面進行頁面跳轉。
H5端頁面刷新之后頁面棧會消失,此時navigateBack不能返回,如果一定要返回可以使用history.back()導航到瀏覽器的其他歷史記錄。