Vue Vapor没有抛弃虚拟Dom

# Vapor并不是简单粗暴地抛弃了所有diff算法,而是做了精细化的场景区分

  • 在90%的常规场景下,通过编译时优化实现了"无diff"更新
  • 在复杂的 v-for 列表场景下,保留了成熟稳定的diff算法

# 原因

  • signal系统只能知道数组变了,不知道是加了还是减了还是改变顺序
  • v-for出来的东西都是动态创建的,如果不使用 diff 算法,就得全部销毁再创建了

如果非要把列表全部销毁再创建的话:

  • 性能很差(大列表场景下简直是灾难)
  • 用户体验糟糕(滚动位置丢失、输入焦点丢失)
  • DOM状态丢失(比如视频播放进度)
最近更新时间: 2025/07/25 03:07:18
最近更新
01
2025/05/05 00:00:00
02
2025/05/01 00:00:00
03
2025/03/15 00:00:00