一、跳转基本方法
uni.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面
uni.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面
uni.reLaunch(OBJECT) 关闭所有页面,打开到应用内的某个页面
uni.switchTab(OBJECT) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
uni.navigateBack(OBJECT) 关闭当前页面,返回上一页面或多级页面
[携带参数的话只需要在url里面拼接,接收页面onLoad里面就可以获取到传递的参数]
具体传参方法和案例:(21条消息) Uniapp去掉顶部导航栏和路由传参_progrmmmm的博客-CSDN博客_uniapp取消顶部状态栏
二、跳转页面并执行被跳转页面某个方法
这里用跳转到tabbar页面举例:
跳转的方法:
uni.switchTab({
url: "/pages/user/center",
success: function (e) {
var page = getCurrentPages()[0]//相当于被跳转页面的选择器
if (page == undefined || page == null) {//判断页面是否存在
return;
} else{
console.log(page)//打印选择器中内容
page.$vm.removeData()
}
}
})
被跳转的页面:
<template>
<view class="container">
{{userInfos}}
</view>
</template>
<script>
export default {
data() {
return {
userInfos:'123'
};
},
methods: {
removeData(){
this.userInfos = ''
}
},
};
</script>
执行跳转命令后我们可以看到console.log(page)的内容:
可以看到removeData方法在$vm中,所以执行page.$vm.方法名()就可以了
同样如果想修改被跳转页面中的数据或标签,只要在getCurrentPages()[0]命名的对象中找到对应条目修改就可以了,这种修改只是暂时的,数据修改还是建议放在接口里面和后端联动。