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

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

相关推荐
kyriewen3 小时前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
yuzhiboyouye4 小时前
web前端英语面试
前端·面试·状态模式
canonical_entropy5 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
东方小月5 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅5 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆5 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
XinZong6 小时前
【AI社交】基于OpenClaw自研轻量化AI社交平台实战
前端
Le_ee6 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php
爱上好庆祝6 小时前
学习js的第七天(wed APIs的开始)
前端·javascript·css·学习·html·css3
KaMeidebaby7 小时前
卡梅德生物技术快报|冻干工艺开发:注射用心肌肽全流程参数优化与工程化方案
前端·其他·百度·新浪微博