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
 }
)

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

相关推荐
三8446 分钟前
WordPress REST API 参数校验机制剖析:为什么 author__not_in 无法直接盲注?
服务器·前端·数据库
ITmaster07318 分钟前
Vibe Coding 时代:Vue 消失了还是 React 太强?
前端·vue.js·react.js
WebInfra26 分钟前
Rspack 2.2 发布:30+ 项性能优化,拥抱 Solid 2.0
前端·javascript·前端框架
额额额对了34 分钟前
Linux 进程管理详解:从概念到实战
java·服务器·前端
fatcoder35 分钟前
玩转 Redis · Set 篇
前端·redis·后端
爱喝麻油的小哆35 分钟前
🐾 Day 5|桌面数字人-接入llm可以对话啦
前端·three.js
我叫黑大帅39 分钟前
关于没有对生产者做校验的思考
前端·面试·架构
掘金者阿豪1 小时前
你的公网 IP 是专线还是动态变化的?一文讲透动态 IP 与固定 IP 的那些事
前端·后端
invicinble1 小时前
把握理解技术文章转化为工程水平的深度理解
前端
前端炒粉1 小时前
fetch+readablestream(Streamable)流式输出
java·服务器·前端