uniapp页面跳转的几种方式 以及举例(2)

又来混时长 嫖流量卷了

一,uni.navigateTo(OBJECT)

保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

// 1.不传参
uni.navigateTo({
    url:'./home/index'
});
// 2.传参字符串
uni.navigateTo({
    url:`./home/index?title=${title}`
});
// 3.传参对象
// 传入
let data = {
    title:'hello',
    id: 1
}
uni.navigateTo({
	url:`./home/index?data=`+ encodeURIComponent(JSON.stringify(data))
})

// 接受参数
onLoad: function (option) {
    const item = JSON.parse(decodeURIComponent(option.item));
}

二,uni.redirectTo(OBJECT)

关闭当前页面,跳转到应用内的某个页面。

uni.redirectTo({
  url:'./home/index'
});

三,uni.reLaunch(OBJECT)

关闭所有页面,打开到应用内的某个页面。

uni.reLaunch({
    url:'./home/index'
});

四,uni.switchTab(OBJECT)

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

uni.switchTab({
   url:'./home/index'
});

五,uni.navigateBack(OBJECT)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

uni.navigateBack({
    url:'./home/index'
});
uni.navigateBack({
	delta: 2
});

 注意!

navigateTo, redirectTo 只能打开非 Tab 页面,可传参。
switchTab 只能打开 Tab 页面,不可传参。
reLaunch 可以打开任意页面,可传参。