Vue3 页面刷新时在 onMounted 里获取到的path 一直是 / 问题

First !! 先看原始的代码

复制代码
onMounted(() => {
   const currentPath = route.path
})

刷新页面 发现获取的 currentPath 始终是 /

这是 Vue Router 初始化时序问题

  • 页面刚刷新时,Vue 还没完成路由解析
  • onMounted 执行得太早,路由还没准备好
  • 此时路由默认值就是 /,所以永远拿到根路径

正确的获取当前路由地址的方法

复制代码
import { useRouter, useRoute } from 'vue-router'

const router = useRouter()
const route = useRoute()

onMounted(async () => {
  await router.isReady();
  const currentPath = route.path
 }
)

修改成这样, 每次获取到的路由地址就是当前页面的最新路径了.

相关推荐
朦胧之6 小时前
AI 编程-老项目改造篇
java·前端·后端
swipe9 小时前
从 0 到 1 实现大文件上传:分片、秒传、断点续传、暂停、重试与服务端合并
前端·javascript·面试
爱勇宝9 小时前
我做了一个只用来搜歌词的小 App
android·前端·后端
甲维斯9 小时前
用AI还原《坦克大战》并3D化升级!
前端·人工智能·游戏开发
IT_陈寒10 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
kyriewen10 小时前
AI 生成的代码能跑就行?这 5 个坑迟早炸
前端·javascript·ai编程
谷子在生长10 小时前
纯血鸿蒙自定义弹窗最佳实践:从「到处复制」到「一行调用」
前端·harmonyos
壹方秘境10 小时前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男10 小时前
HarmonyOS 6.0跨端远程控制
前端·后端
枫树下x10 小时前
NestJS基础框架
前端