vue-router使用按需加载后无法获取$route信息了

发布于 2022-09-05 03:25:33 字数 568 浏览 25 评论 0

这是我的路由配置文件

const Home = resolve => require(['../pages/home.vue'], resolve)
export default [
    {
        path:'/home',       
        component: Home,
    }
]

发现这样以后无法获取$route信息了,(比如http://localhost:8080/home?a=1234这样的话$route.query是没有东西的)
图片描述

如果是正常的就可以获取到

import Home from '../pages/home.vue'

有解决过的小伙伴吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

[旋木] 2022-09-12 03:25:35

题主这个问题解决了吗,我也遇到这个问题了。求告知

梦在深巷 2022-09-12 03:25:35

我也遇到类似的问题,
在app.vue 里面的mounted()里面取不到$route的值
在其子路由里面是没问题的

不知道如何理解这个问题,是不是app.vue里面是不能取$route的?是不是app.vue挂载时,$route还没有初始化?

葮薆情 2022-09-12 03:25:35

当你的页面进入的时候,需要获取route的值,可以watch路由的变化,具体可参考vue-router,https://router.vuejs.org/zh/g...

今天小雨转甜 2022-09-12 03:25:35

我也遇到了,你应该用了异步加载组件了,

const Home=()=>import(/*webpackChunkName: "Home"*/'../pages/home.vue');
(り薆情海 2022-09-12 03:25:34

你截图的变量不就是$route 本身吗

姜生凉生 2022-09-12 03:25:34
const Home=()=>import(/*webpackChunkName: "Home"*/'../pages/home.vue');
橪书 2022-09-12 03:25:34

你的路由地址都还是/不是/home

酒绊 2022-09-12 03:25:33

我是放在created的时候调用的,后来发现这个问题引响并不大,created第一次进入会调用,之后每次路由变化,同组件的话,created不会再触发,取决于路由变化的时候,是不是显示同一个组件。
就是created的时候获取不到,之后都能获取到了。

ι不睡觉的鱼゛ 2022-09-12 03:25:33

watch: {

      '$route' (to, from){
          console.log(to);
      }
  }
ˇ宁静的妩媚 2022-09-12 03:25:33

可能是$route还没更新。

mounted () {
  console.log(this.$route)
  setTimeout(() => {
    console.log(this.$route)
  }, 1000)
}

clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文