vue.js 按需加载模块问题

Home上有个book-list的component,就是简单罗列一些图书的封面和名称,每个图书可以点封面进去到BookDetail的页面,这些功能没问题的。
Home还有个按钮可以显示更多图书,这就进到另一个更多图书的页面,里面也有一个book-list的component,但是有一个问题就是,如果不在Home点击某本书进入到BookDetail,在更多图书的页面每本书就点击不进去BookDetail。
在最后发现是按需加载的锅,写成马上加载就没有问题了:

原来是

const BookDetail = resolve => require(['@/views/BookDetail'], resolve)

现在正常的是

import BookDetail from '../views/BookDetail'

谁能告诉我如果要按需加载应该怎么写
PS:我的vue和webpack都是最新的


眼眸繁星
浏览 1300回答 1
1回答

茅侃侃

这是路由的懒加载,问题描述的有点模糊,不知道是不是你要的声明const view = (path, name) => () => import(`@/components/${path}${name}`)// 路由按需加载用法export default new Router({  routes: [     {       path: '/',       name: 'Index',       component: view('', 'Index'),       children: [         {           path: '/',           name: 'Recomend',           component: view('', 'Recomend')         }       ]     }       ] })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python
Node.js