vue3携带参数跳转|router传参方式
短信预约 -IT技能 免费直播动态提醒
携带参数跳转|router传参
A页面点击按钮后携带参数跳转到B页面
原理
- 导入router import { useRouter } from "vue-router";
- A页面传参router.push({})
- B页面接收route.params.num;
demo
route.js
{ path: '/A', name:'A',component: () => import('pages/A.vueB') },
{ path: '/B', name:'B',component: () => import('pages/B.vue') }
A页面
<template>
<button @click="go">跳转</button>
</template>
<script>
import { useRouter } from "vue-router";
export default ({
setup(props, ctx) {
//router是全局路由对象,route= userRoute()是当前路由对象
let router = useRouter();
const go=()=>{
router.push({
//传递参数使用params的话,只能使用name指定(在route.js里面声明name)
name:"B",
params:{
num:1
}
})
}
return{
go,
}
}
})
</script>
B页面
<template>
{{ num }}
</template>
<script>
import { useRoute } from "vue-router";
export default {
setup(props, ctx) {
//router是全局路由对象,route= userRoute()是当前路由对象
let route = useRoute();
const num = route.params.num;
console.log(num);
return {
num,
};
},
};
</script>
vue路由跳转,参数的携带与获取
// 参数的携带两种方式如下
(1) this.$router.push({ name:'orderDetail', params:{id:14} })
(2) this.$router.push({ path:'/microcosm/orderDetail', params:{id:14} })
// 获取参数 对应上面的顺序
(1) this.$route.params.id
(2) this.$route.query.id
第一种方式
(1)携带的参数没有拼接在url地址后面;数据比较保密,但是name属性要在路由表中配置name属性
(2)但是跳转到对应页面后,刷新该页面携带的参数会丢失,如果是根据携带参数获取的数据,会出现一定的问题
第二种方式
(1)携带的参数拼接在url地址后面;不用再路由表中配置name属性
(2)跳转到对应的页面后,刷新页面不会出现上一个页面携带的参数丢失的情况
以上方式可以根据项目的需求进行选择。
我本人一般选择的是第二种方式,一般把数据拼接在url后面的,都是一些不重要的数据,最重要的是不会出现刷新页面,出现携带的数据丢失情况
好了,这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341