vue3中获取当前路由地址的方法及具体代码
来源:绵阳动力网络公司  时间:2022-01-10  阅读:10

今天是腊月初八,俗话说过了腊八就是年,祝愿大家未来的每一周:“粥粥”快乐,“粥粥”好运“粥粥”如意,“粥粥”健康!今天我们来大家带的内容是在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打印出来看看:

vue3中获取当前路由地址的方法及具体代码

通过以上打印结果,我们就更加清晰明了为什么要用useRouter,而不用router.currentRoute吧。好了,今天要为大家介绍的内容就是这些了,如果你看了后喜欢的话记得收藏哦!

 
  • 电话咨询

  • 0816-2318288