zoukankan      html  css  js  c++  java
  • vue中页面卡顿,使用懒加载

    为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题。

    懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载。

    常用的懒加载方式有两种:即使用vue异步组件 和 ES中的import 

     1.未使用懒加载和使用异步组件懒加载

      方法:component: resolve=>(require(['地址']), resolve)

     import Vue from 'vue'
     import Router from 'vue-router'
     import HelloWorld from '@/components/HelloWorld'
    
     Vue.use(Router)
    
     export default new Router({
       routes: [
         {
           path: '/',
           name: 'HelloWorld',
           component:HelloWorld
         }
       ]
     })
    import Vue from 'vue'
    import Router from 'vue-router'
      /* 此处省去之前导入的HelloWorld模块 */
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/',
          name: 'HelloWorld',
          component: resolve=>(require(["@/components/HelloWorld"],resolve))
        }
      ]
    })

    2.ES提出的import方法(最常用)

      方法:const HelloWorld = ()=>import('地址')

    import Vue from 'vue'
    import Router from 'vue-router'
    
    Vue.use(Router)
    
    const HelloWorld = ()=>import("@/components/HelloWorld")
    export default new Router({
      routes: [
        {
          path: '/',
          name: 'HelloWorld',
          component:HelloWorld
        }
      ]
    })

    示例:

      原写法

    <template>
      <div class="hello">
      <One-com></One-com>
      1111
      </div>
    </template>
    
    <script>
    import One from './one'
    export default {
      components:{
        "One-com":One
      },
      data () {
        return {
          msg: 'Welcome to Your Vue.js App'
        }
      }
    }
    </script>

      const写法

    <template>
      <div class="hello">
      <One-com></One-com>
      1111
      </div>
    </template>
    
    <script>
    const One = ()=>import("./one");
    export default {
      components:{
        "One-com":One
      },
      data () {
        return {
          msg: 'Welcome to Your Vue.js App'
        }
      }
    }
    </script>

      异步写法

    <template>
      <div class="hello">
      <One-com></One-com>
      1111
      </div>
    </template>
    
    <script>
    export default {
      components:{
        "One-com":resolve=>(['./one'],resolve)
      },
      data () {
        return {
          msg: 'Welcome to Your Vue.js App'
        }
      }
    }
    </script>

    总结:

      路由和组件的常用两种懒加载方式

        1.vue异步组件实现路由懒加载

          component: resolve=>(['地址'], resolve)

        2.es提出的import(推荐使用)

          const HelloWorld = () => import('地址')

    参考自:https://www.cnblogs.com/xiaoxiaoxun/p/11001884.html

  • 相关阅读:
    JVM系列(三)垃圾回收
    JVM系列(二)各区域的OOM
    JVM系列(一)内存模型
    获取IP、mac等信息
    memcached(七)--常用指令抓包分析
    memcached(五)--源码分析,启动
    apt安装mysql + 简易配置
    memcached(六)--spyMemcached的get操作
    解决mysql获取不到连接的问题
    tcp一些要点
  • 原文地址:https://www.cnblogs.com/zhangning187/p/vue_lanjiazai.html
Copyright © 2011-2022 走看看