今天是腊月初八,俗话说过了腊八就是年,祝愿大家未来的每一周:“粥粥”快乐,“粥粥”好运“粥粥”如意,“粥粥”健康!今天我们来大家带的内容是在vue3中获取当前路由地址。
近期在做ve3的项目时因为功能需要,需要获取当前路由的地址。通过参考官网的参考文件和搜索,现将具体的实现方法和思路写出来供大家参考:
在这里我们要乃至useRouter来处理,具体代码如下:
// router的 path: "/user/:uid"
<template>
<div>user</div>
<p>uid: {{ uid }}</p>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import { useRouter } from "vue-router";
export default defineComponent({
name: "User",
setup() {
const router = useRouter();
const uid = router.currentRoute.value.params.uid;
return {
// 返回的数据
uid,
};
},
});
</script>
在这里和大家一起共同来讨论一下为什么要用useRouter,而不用router.currentRoute呢。
useRouter()返回的是object, 类似于vue2的this.$router而router.currentRoute是RefImpl对象, 即我们使用ref返回的对象, 通过.value可以访问到当前的路由, 类似于vue的this.$route使用console.log打印出来看看:
通过以上打印结果,我们就更加清晰明了为什么要用useRouter,而不用router.currentRoute吧。好了,今天要为大家介绍的内容就是这些了,如果你看了后喜欢的话记得收藏哦!