我的Vue应用程序有路由设置如下:
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模块是惰性加载的。 但是,当我导航到panda页面时,在App.vue的mounted()生命周期中使用this.$route.path的console.log()仅输出“/”,而不是“/ panda” 。 但是主页很好用,它显示预期的“/ index”。那么,当页面最初加载时,Vue路由器如何正确获取延迟加载页面的当前路径? 我错过了什么吗?编辑:然而,它可以在Webpack热重载后捕获正确的路径。在第一次访问panda时,它捕获“/”,但是在我更改源代码并进行webpack-dev-server热重载后,它会得到“/ panda”。所以我猜它与Vue生命周期有关。