vue中如何实现长列表性能优化
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍vue中如何实现长列表性能优化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!长列表性能优化1. 不做响应式比如会员列表、商品列表之类的,只是纯粹的数据展示,不会
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
杭州有度信息 网络安全
ftp服务器进不去
网络架构和管理服务器架构
衢州桌面软件开发项目
三维照片底片成像软件开发
软件开发技术小结
使命召唤更新后老是连接服务器
我国信息网络安全问题
辽宁服务器硬盘
日本最近的网络安全事件
永恒之井服务器
军工网络安全防护与监管研讨会
数据库完全外连接
迈瑞软件开发第二轮面试
网络安全知识线上答题答案
百度中国国际调查数据库
处理10w以上数据用什么数据库
服务器无法传输有相同的计算机
知识数据库委托开发
唐山php软件开发
数据库虚拟个人信息
网络安全安全法课件
东莞步步高软件开发薪资待遇
excel进销存独立数据库版
陕西网络安全责任制考核网址
超连接导入数据库
红包雨软件开发
毕节网络安全保卫支队
静安区银联软件开发参考价格
车载网络技术设计的字符