各位观众老爷,晚上好! 今天咱们聊聊 Vue 3 源码里边 computed 属性的两个小秘密:dirty 标志和 lazy 属性。 别看它们名字平平无奇,作用可大了去了,直接关系到你的 Vue 应用性能。 咱们的目标是:搞懂它们是啥,怎么工作的,为啥能避免不必要的重复计算。 一、computed 属性是啥?为啥需要它? 先来个简单的回顾。 computed 属性,顾名思义,就是根据其他数据计算出来的一个属性。 它的特点是: 缓存: 只要依赖的数据没变,computed 属性的值就保持不变,下次访问直接返回缓存结果,不用重新计算。 响应式: 依赖的数据变了,computed 属性会自动重新计算。 举个例子,假设我们有一个用户对象: const user = reactive({ firstName: ‘张’, lastName: ‘三’ }) 我们想显示用户的全名,可以这样写: <template> <div>{{ fullName }}</div> </template> <script setup> import { re …
继续阅读“阐述 Vue 3 源码中 `computed` 属性的 `dirty` 标志和 `lazy` 属性的实现,以及它们如何避免不必要的重复计算,实现高效缓存。”