首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue路由器如何在页面加载上获得延迟加载模块的当前路由路径?

Vue路由器如何在页面加载上获得延迟加载模块的当前路由路径?
EN

Stack Overflow用户
提问于 2017-11-08 02:20:12
回答 6查看 134.4K关注 0票数 46

我有一个vue应用程序,路由器设置如下:

代码语言:javascript
复制
import index from './components/index.vue';
import http404 from './components/http404.vue';

// module lazy-loading
const panda= () => import(/* webpackChunkName: "group-panda" */ "./components/panda/panda.vue");
// ...

export const appRoute = [
  {
    path: "",
    name: "root",
    redirect: '/index'
  },
  {
    path: "/index",
    name: "index",
    component: index
  },
  {
    path: "/panda",
    name: "panda",
    component: panda
  },
  //...
  {
    path: "**",
    name: "http404",
    component: http404
  }
];

所以熊猫模块装得很懒。然而,当我导航到panda页面时,console.log() of this.$route.pathApp.vuemounted()生命周期中只输出。

"/“

而不是

"/panda“

但是索引页工作得很好,它准确地显示了。

"/index“

如预期的那样。

那么,当最初加载页面时,Vue路由器如何才能正确获取延迟加载页面的当前路径?我错过了什么吗?

编辑:

然而,在Webpack热重装之后,它可以抓住正确的路径.它在第一次访问panda时捕捉到"/“,但是在我修改源代码、webpack开发服务器热重加载之后,它就得到了"/panda”。

所以我想这和Vue的生命周期有关。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-06-08 16:26:43

有一个为我工作的currentRoute属性:

代码语言:javascript
复制
this.$router.currentRoute
票数 88
EN

Stack Overflow用户

发布于 2017-11-08 03:12:01

可能你需要使用$route而不是$router

检查这里:https://jsfiddle.net/nikleshraut/chyLjpv0/19/

您也可以通过$router这样做。

https://jsfiddle.net/nikleshraut/chyLjpv0/20/

票数 35
EN

Stack Overflow用户

发布于 2018-11-27 09:56:38

使用this.$route.path。简单有效。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47170533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档