vue中如何实现长列表性能优化
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要介绍vue中如何实现长列表性能优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!长列表性能优化1. 不做响应式比如会员列表、商品列表之类的,只是纯粹的数据展示,不会
千家信息网最后更新 2024年11月20日vue中如何实现长列表性能优化
这篇文章主要介绍vue中如何实现长列表性能优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
长列表性能优化
1. 不做响应式
比如会员列表、商品列表之类的,只是纯粹的数据展示,不会有任何动态改变的场景下,就不需要对数据做响应化处理,可以大大提升渲染速度
比如使用 Object.freeze() 冻结一个对象,MDN的描述是 该方法冻结的对象不能被修改;即不能向这个对象添加新属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值,以及该对象的原型也不能被修改
export default { data: () => ({ userList: []}), async created() { const users = await axios.get("/api/users"); this.userList = Object.freeze(users);}};
Vue2 的响应式源码地址:src/core/observer/index.js - 144行 是这样的
export function defineReactive (...){ const property = Object.getOwnPropertyDescriptor(obj, key) if (property && property.configurable === false) { return } ...}
可以看到一开始就判断 configurable 为 false 的直接返回不做响应式处理
configurable 为 false 表示这个属性是不能被修改的,而冻结的对象的 configurable 就是为 false
Vue3 里则是添加了响应式flag,用于标记目标对象类型
2. 虚拟滚动
如果是大数据很长的列表,全部渲染的话一次性创建太多 DOM 就会非常卡,这时就可以用虚拟滚动,只渲染少部分(含可视区域)区域的内容,然后滚动的时候,不断替换可视区域的内容,模拟出滚动的效果
原理是监听滚动事件,动态更新需要显示的 DOM,并计算出在视图中的位移,这也意味着在滚动过程需要实时计算,有一定成本,所以如果数据量不是很大的情况下,用普通的滚动就行
以上是"vue中如何实现长列表性能优化"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
对象
属性
内容
数据
性能
区域
动态
篇文章
处理
很大
普通
一次性
不断
事件
价值
会员
兴趣
原型
原理
只是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dede数据库结构
最好的互联网科技
环境监测软件开发价钱
安卓代理服务器软件下载
关于网络安全宣传总结报告
每次登录软件访问服务器
怎么下载方舟服务器管理器
浪潮服务器修改网口百兆
学院网络安全工作领导小组
宜搭可以关联数据库么
ccaa网络安全
discuz数据库怎么配置
企业级软件开发实验报告
jsp数据库mysql
网络安全法 账号注销
php数据连接数据库乱码
网络安全领导小组工作职责
电子科技大网络安全
软件开发工程师级别定岗划分
网络安全y英文版
ajax数据库链接求和
野猪网络技术有限公司
瑜伽app软件开发
深圳龙华软件开发招聘
阿里云每个服务器都是公网ip
软件开发为什么要重新做
软件开发文档学生模板下载
浪潮服务器修改网口百兆
服务器虚拟化算力公式
瑞庭网络技术有限公司社保