zoukankan      html  css  js  c++  java
  • vue——列表页进详情页,第一次很慢,第二次就很快问题及解决方法

    参考: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文件中。

  • 相关阅读:
    HelloJava.java
    建表
    JAVA连接数据库
    数据查询
    时间片轮转法
    最高优先级
    进程调度
    磁盘调度管理
    Fibonacci数列
    众数问题
  • 原文地址:https://www.cnblogs.com/linjiangxian/p/12213020.html
Copyright © 2011-2022 走看看