vue——列表页进详情页,第一次很慢,第二次就很快问题及解决方法
2023-09-27 14:29:10 时间
参考:https://segmentfault.com/q/1010000010829474
问题:列表页进详情页,第一次很慢,第二次就很快。
原因:我原本是使用组件懒加载,每次第一次切换路由的时候,都要去加载相应的组件的js文件,需要等文件加载完之后,路由才能切换过去。后面切换的话js都下载过了,所以切换就不卡了。
解决:将组件懒加载改为直接加载。
原router.js:
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [{ path: '/', name: 'Home', meta: { index: 0, keepAlive: true, title: '首页' }, component: resolve => require(['../../../modules/Home'], resolve) }, { path: '/detail', name: 'Detail', meta: { index: 1, keepAlive: false, title: '详情页' }, component: resolve => require(['../../../modules/Detail'], resolve) //组件懒加载 }] })
改进后:
import Vue from 'vue' import Router from 'vue-router' import Detail from '@/modules/Detail' // <== 修改 Vue.use(Router) export default new Router({ routes: [{ path: '/', name: 'Home', meta: { index: 0, keepAlive: true, title: '首页' }, component: resolve => require(['../../../modules/Home'], resolve) }, { path: '/detail', name: 'Detail', meta: { index: 1, keepAlive: false, title: '详情页' }, component: Detail // <== 修改 }] })
注意:直接注册组件,会在首页加载时就加载其内容包括其内部引入的子组件,打包到index.css文件中。
相关文章
- vue@2.6.14小目标列表
- 【Vue】通过computed为筛选列表数组进行排序(图文+完整代码示例)
- Vue - 实现点击按钮(笔图标)可编辑 input 输入框(点击文字内容后变成 <input> 输入框同时能修改和取消、删除)
- Vue - [完整源码] 实现分类菜单 + 轮播图组合布局效果,类似左侧菜单与右侧轮播图连接在一起的效果(当鼠标移入菜单时,侧边出现子菜单列表)常见于商城系统,示例代码注释详细开箱即用!
- Vue - 页面缓存(keep-alive)让容器滚动条回到原来的位置,保存用户浏览位置(从详情页返回列表时发现滚动条位置回到了最顶部,并没有停留在进入详情页之前)
- 解析Nuxt.js Vue服务端渲染摸索
- [Vue warn]: Error in mounted hook: "Error: please transfer a valid prop path to form item!"
- [vue]几十行代码写一个图书管理系统小demo来学习表单控件、列表渲染和事件绑定。
- Vue评论案例--数据存放本地---联系子组件调用父组件方法(子组件点击发表-调用父组件更新评论列表)
- VUE-011-通过 v-if 和 v-for 实现特定值的列表循环匹配,并显示满足匹配条件的值
- Vue之Action
- 【Vue】Vue2生命周期详解
- vue中循环table表格数据,可编辑的列表(新增、删除、修改)
- Vue脚手架报错: Component name “xxx“ should always be multi-word(vue/multi-word-component-names)的解决办法
- Vue中自定义指令总结及封装一个类似于v-bind的自定义指令
- vue computed
- vue for 循环例子 2
- vue中使用better-scroll实现菜单和列表联动的滚动效果,附完整演示代码,(可直接复制)
- Vue中动态展示数据的字典项
- Vue-列表过滤
- Vue列表渲染(v-for的使用)