Vue性能优化方法?

  • 路由懒加载
const router = new VueRouter({ 
  routes: [ 
    { path: '/foo', component: () => import('./Foo.vue') }   ] 
}) 
  • keep-alive 缓存页面
<template> 
  <div id="app">     <keep-alive>       <router-view/>     </keep-alive>   </div> 
</template> 
  • 使用 v-show复用 DOM
<template> 
  <div class="cell">     <!--这种情况用v-show复用DOM,比v-if效果好-->     <div v-show="value" class="on">       <Heavy :n="10000"/> 
    </div> 
    <section v-show="!value" class="off">       <Heavy :n="10000"/> 
    </section> 
  </div> 
</template> 
  • v-for 遍历避免同时使用v-if
  • 长列表优化
    如果列表是纯粹的数据展示,不会改变,就不需要做响应式
export default {   data: () => ({     users: [] 
  }), 
  async created() { 
    const users = await axios.get("/api/users");     this.users = Object.freeze(users); 
  } 
}; 
  • 如果大数据列表,可采取虚拟滚动,只渲染小部分区域内容
<recycle-scroller   class="items"   :items="items"   :item-size="24" 
> 
  <template v-slot="{ item }">     <FetchItemView       :item="item"       @vote="voteItem(item)"     /> 
  </template> </recycle-scroller> 
  • 图片懒加载
<img v-lazy="/static/img/1.png"> 
  • 第三方插件按需引入
  • 无状态组件标记为函数组件
  • 子组件分割
  • 变量本地化
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 路由懒加载: keep-alive缓存页面 使用v-show复用DOM v-for 遍历避免同时使用v-if 长列...
    youah阅读 437评论 0 0
  • Vue前端开发到第一阶段,就要开始考虑性能优化相关的要点了。这也是用来判断一名前端的水平是否优秀的一个标准。接下来...
    SCQ000阅读 22,297评论 2 41
  • vue.jsjavascript 看看面试题,只是为了查漏补缺,看看自己那些方面还不懂。切记不要以为背了面试题,就...
    Leson17阅读 2,961评论 0 13
  • 一、如何创建vue项目? 1.安装node.js,并配置环境。(自行百度) 2.使用cmd安装淘宝镜像。(可不安装...
    Arvin0320丶阅读 430评论 0 1
  • 夜莺2517阅读 128,106评论 1 9

友情链接更多精彩内容