在vue2中我们要实现对应的转发时,我们所需要的代码如下来实现跳转以及转发
this.$router.push({ path:'/home', query:{ msg:'hello' } })
然后我们需要在另一个组件以下面的代码读取和接收路由参数
var name = this.$route.query.msg;
但是在vue3中则简约了这些,首先我们先知道下面两个的作用:
useRouter:返回当前路由位置,相当于 vue2 的 this.
r
o
u
t
e
r
u
s
e
R
o
u
t
e
:返回路由实例,相当于
v
u
e
2
的
t
h
i
s
.
router useRoute:返回路由实例,相当于 vue2 的 this.
routeruseRoute:返回路由实例,相当于vue2的this.route
其中,useRouter 返回的是 router 实例对象,它是通过 new VueRouter() (或 createRouter()) 来创建的路由实例对象,它是全局的,包含了所有的路由、以及相关的方法和属性。
而useRoute 返回的是 route 对象(一个跳转的路由对象),它是是局部对的象。
vue3实现跳转及携带参数步骤如下:
1.引入router
import router from "@/router";
2.在你想要实现跳转的地方添加1如下代码(注意根据实际情况进行修改)
router.push({
path:"/result",
query:{
uid:file.uid //这里的uid相当于key,值可以是随意,而file.uid是所携带的参数
}
})
3.在被跳转的组件中接收参数,首先需要引入
const route = useRoute();
4. //获取传过来的参数 uids.uid = route.query.uid
按上面步骤就可以实现vue3路由携带参数的跳转了