跳转普通页面方法以及传参
<script>
import navBar from '@/component/navBar/navBar.vue';
export default {
components: {
navBar
},
data() {
return {
title: 'Hello',
id: 20,
objVal {
namer: 'xxxx',
age: 22
}
}
},
onLoad() {
},
methods: {
// 普通跳转携带基础参数---不可跳转tabbar页面
navetor() {
uni.navigateTo({
url: `/pages/textNav/index/index?id=${this.id}&&tomak=${this.title}`
})
},
// 普通跳转携带应用类型参数---不可跳转tabbar页面
navtorTwo() {
// 将对象参数转为JSON字符串,并使用encodeURIComponent编码
const params = encodeURIComponent(JSON.stringify(this.objVal));
uni.navigateTo({
url: `/pages/textNav/index/index?params=${params}`
})
}
}
}
</script>
// 跳转的页面接收参数---在onLoad生命周期里面接收
onLoad(options) {
console.log(options);
// 接收普通类型参数
this.id = options.id;
// 接收应用类型参数 --- 使用decodeURIComponent解码,并转为对象
if ('params' in options) {
this.obj = JSON.parse(decodeURIComponent(options.params));
}
}
跳转tabbar页面
// 跳转到tabbar页面 ---tabbar页面不支持接收参数,需带参数可用全局变量或者vuex进行管理
uni.switchTab({
url: '/pages/tabbar-page/tabbar-page'
})
关闭当前页面,跳转到应用内的某个页面
// 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到带有 tabBar 的页面
// 参数传递同uni.navigateTo
navRedir() {
uni.redirectTo({
url: `/pages/tabbar-page/tabbar-page?param1=value1¶m2=value2`
})
},
关闭所有页面,打开到应用内的某个页面
// 关闭所有页面,打开到应用内的某个页面。
navReLaun() {
uni.reLaunch({
url: `/pages/tabbar-page/tabbar-page?param1=value1¶m2=value2`
})
},
关闭当前页面,返回上一页面或多级页面。
navBack() {
uni.navigateBack({
delta: 1 // 回退的层数,默认为1,即回退到上一页面
})
}