当前位置: 首页 > news >正文

Vue3获取当前页面相对路径

在Vue 3中,获取当前页面路径可以通过多种方式实现,以下是一些常用的方法:

方法一:使用 useRoute 钩子

Vue Router 提供了 useRoute 钩子,可以用来获取当前路由的信息。这是与 Vue Router 深度集成的方式,推荐在 Vue 3 项目中使用。

  1. 导入 useRoute 钩子‌:

import { useRoute } from 'vue-router';

  1. 在页面组件中使用 useRoute 钩子‌:

const route = useRoute();

  1. 获取当前页面路径‌:

const currentPath = route.path;

方法二:使用 getCurrentInstance 方法

Vue 3 提供了 getCurrentInstance 方法,可以获取当前组件的实例,进而访问 router 实例。这种方法较为灵活,但相对复杂一些。

  1. 导入必要的模块‌:

import { getCurrentInstance } from 'vue'; import { useRouter } from 'vue-router';

  1. 获取当前组件实例和 router 实例‌:

const instance = getCurrentInstance(); const router = useRouter();

  1. 获取当前路由对象并获取页面路径‌:

const currentRoute = router.currentRoute.value; const currentPath = currentRoute.path;

方法三:使用 window.location 对象

如果不使用 Vue Router,还可以通过原生的 window.location 对象来获取当前页面的 URL 路径。这种方法不依赖于 Vue Router,但在处理路由参数或查询参数时可能不如 Vue Router 方便。

  1. 直接获取当前页面路径‌:

const currentPath = window.location.pathname;

方法四:使用 this.$route(传统选项式 API)

在 Vue 3 中,如果你使用的是传统的选项式 API,而不是组合式 API,你可以通过 this.$route 来获取当前路由对象,并从中获取页面路径。

  1. 在组件的 computed 属性中定义路径‌:

export default { computed: { currentPath() { return this.$route.path; } } }

  1. 在模板中使用‌:

<template> <div>当前页面路径: {{ currentPath }}</div> </template>

总结

在 Vue 3 中获取当前页面路径,最推荐的方法是使用 useRoute 钩子,因为它与 Vue Router 深度集成,能够方便地获取到与路由相关的各种信息。其他方法如 getCurrentInstancewindow.location 和 this.$route 也可以根据具体需求选择使用。

http://www.lryc.cn/news/613544.html

相关文章:

  • 站在Vue的角度,对比鸿蒙开发中的状态管理
  • Casrel关系抽取
  • vue3 el-select 加载触发
  • AI绘画:生成唐初李世民全身像提示词
  • 【unity实战】使用Unity程序化生成3D随机地牢(附项目源码)
  • 8.3.1 注册服务中心Etcd
  • 【感知机】感知机(perceptron)学习算法的对偶形式
  • Java包装类详解与应用指南
  • Caffeine 三种过期策略详解
  • Day 6: CNN卷积神经网络 - 计算机视觉的核心引擎
  • MCU中的USB
  • 论文解读:单个标点符号如何欺骗LLM,攻破AI评判系统
  • Linux总线,设备和驱动关系以及匹配机制解析
  • vue打包号的文件如何快速查找文件打包后的位置
  • Redis 编译错误:缺少静态库文件,如何解决?
  • 在NVIDIA Orin上用TensorRT对YOLO12进行多路加速并行推理时内存泄漏 (中)
  • PoE延长器——突破网络距离限制
  • 数据赋能(386)——数据挖掘——迭代过程
  • PyCharm 图标 c、m、f、F、v、p 的含义
  • 科技云报到:热链路革命:阿卡 CRM 的 GTM 定位突围
  • 健永科技工位RFID读卡器实现生产流水线物料跟踪与柔性化升级
  • 美食广场: 城市胃的便利店
  • MySQL UNION 操作符详细说明
  • 如何在GPU上安装使用Docker
  • SupChains团队:订单生产型供应链销量预测建模案例分享(六)
  • 容器之王--Docker的部署及基本操作演练
  • vLLM:彻底改变大型语言模型推理延迟和吞吐量
  • Aurora MySQL 8.0 性能分析账号创建完整指南
  • 神经网络入门指南:从零理解 PyTorch 的核心思想
  • 跨境电商增长突围:多维变局下的战略重构与技术赋能