Vue中常见的性能优化
编码优化
1. 不要将所有的数据都放到 data
中,data
中的数据都会增加 getter
和 setter
,又会收集watcher
,这样还占内存。不需要响应式的数据我们可以定义在实例上。
<template><div class="hello"><ul><li v-for="(item, index) in list" :key="index">{{ item }}</li></ul></div>
</template><script>
export default {data () {return {list: [1, 2, 3, 4, 5]}}
}
</script>
代码可以优化成这样子:
<template><div class="hello"><ul><li v-for="(item, index) in list" :key="index">{{ item }}</li></ul></div>
</template><script>
export default {created () {this.list = [1, 2, 3, 4, 5]}
}
</script>
2. 在 v-for
绑定事件的时候可以使用事件代理,将事件绑定到外层元素上。
<template><div class="hello"><ul><li v-for="(item, index) in list" :key="index" @click="todo">{{ item }}</li></ul></div>
</template>
代码可以优化成这样子:
<template><div class="hello"><ul @click="todo"><li v-for="(item, index) in list" :key="index">{{ item }}</li></ul></div>
</template>
3. 使用 keep-alive
缓存组件,防止组件来回的创建和销毁这样浪费性能。
<transition><keep-alive><router-view></router-view></keep-alive>
</transition>
4. 拆分组件,增加代码的复用性,减少不必要的渲染。
5. 使用 v-show
代替 v-if
指令。
6. key
最好保证唯一性,提高 DOM-diff 的复用性能。
7. 合理的使用路由懒加载,异步组件。
const router = new VueRouter({routes: [{ path: '/foo', component: () => import('./Foo.vue') }]
})
8 数据持久化,本地存储,localStorage,sessionStorage。
加载优化
1. 第三方模块按需加载,比如 element-ui 的按需加载,根据需要仅引入部分组件。
import { Button } from 'element-ui';
2. 图片的懒加载,可以使用 vue-lazyload 库。
用户体验
1.骨架屏2.pwa 使用的 H5 的离线缓存
SEO优化
1.预渲染插件 prerender-spa-plugin2.服务端渲染
打包优化
1.使用 cdn 加载第三方模块2.多线程打包 happypack3.splitChunks 抽离公共文件4.sourceMap 生成源码映射5.压缩和缓存6. 阅读《vue性能优化》了解更多
Vue中常见的性能优化相关推荐
- Vue中常见的性能优化,项目优化/单页面性能优化,Vue中六大优化方案
1.编码优化 1. 下里将所有的数据都放在data中,data中的教据都会增加getter和setter,会收集对应的watcher 2. vue在v-for时给每项元素绑定事件需要用事件代理 3. ...
- iOS开发中常见的性能优化技巧
性能问题的主要原因是什么,原因有相同的,也有不同的,但归根到底,不外乎内存使用.代码效率.合适的策略逻辑.代码质量.安装包体积这一类问题. 但从用户体验的角度去思考,当我们置身处地得把自己当做用户去玩 ...
- Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析
Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析 说明:Java生鲜电商平台中,由于服务进行了拆分,很多的业务服务导致了请求的网络延迟与性能消耗,对应的这些问题,我们 ...
- oracle数据库支持2颗cpu,2.3 Oracle数据库中常见的性能问题
2.3 Oracle数据库中常见的性能问题 这一节列出和描述了Oracle数据库中常见的性能问题.通过下面的Oracle性能调优方法,你应该可以避免这些问题,如果你遇到这些问题了,那么重复前面谈到的O ...
- vue渲染大量数据如何优化_加速vue组件渲染之性能优化
背景 平时在用vue开发后台管理系统的时候,应该会用到大量的table这种组件,正常这种组件我们会在项目里做二次封装,然后针对表头title做参数化配置,如下: export default { da ...
- 前端jquery、vue、react之性能优化
一.jquery 选择器性能优化建议 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. $( '#content' ).hide( ...
- 项目实践中的一些性能优化指南
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:xybaby cnblogs.com/xybaby/p/90 ...
- Pandas常见的性能优化方法
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 Pandas是数据科学和数据竞赛中常见的库,我们使用Pandas可以进行快速读取数据. ...
- 优化自定义函数_Pandas常见的性能优化方法
文章来源于Datawhale ,作者阿水 Pandas是数据科学和数据竞赛中常见的库,我们使用Pandas可以进行快速读取数据.分析数据.构造特征.但Pandas在使用上有一些技巧和需要注意的地方,如 ...
最新文章
- java输出流flush操作
- java springcloud版b2b2c社交电商spring cloud分布式微服务(十三)断路器聚合监控(Hystrix Turbine)...
- 更改centos 5 yum源
- 什么是AWS Lambda?——事件驱动的函数执行环境
- Git:与GitHub搭配及SSH登录
- oracle 修改数据表结构常用sql
- 运行ant脚本(转载)
- linux里source、. 、sh、bash、./有什么区别
- SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt
- C语言全排列递归算法理解,C#算法之全排列递归算法实例讲解
- eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
- CNode社区(React)
- 如何学习SAP系统并从事相关职业
- uni-app设置屏幕亮度
- 前端页面设计 | 博客系统
- 基于STM32F429的DCMI实现OV7725-NF无缓存摄像头的图像采集HAL库
- 概率论与数理统计中基于有限样本推断总体分布的方法,基于总体未知参数区间估计的假设检验方法之讨论,以及从数理统计视角重新审视线性回归函数本质...
- Word文档使用Mathtype如何实现公式自动居中并右对齐编号?
- 电脑开机黑屏,只有鼠标箭头(windows无法加载桌面)?
- 计算机组成原理求地址范围,计算机组成原理中给定两个地址码,如何求这两个地址码之间总容量...
热门文章
- 对话指令集创始人兼CEO潘爱民:面向未来的新型物联网操作系统 | 人物志
- 阿里达摩院拿什么救人?
- “不会MySQL,干啥都不行!”高级开发:工作、面试处处都会踩坑!
- 你正在学 Web 自动化测试?Selenium 基本操作你了解嘛? | 原力计划
- 10 倍高清不花!大麦端选座 SVG 渲染
- 在家办公,我比上班还累你信吗?
- 互联网大厂春节礼盒鄙视链
- 你还在抱怨开发工具,为什么不动手优化? | 人物志
- 均薪连续三年过万,北上深人才需求大 !| 5G 人才报告
- 万字长文详解二叉树算法,再也不怕面试了!| 技术头条