Virtual DOM(虚拟dom-2)

本文探讨了虚拟DOM的出现背景,如何通过简化DOM操作和维护视图状态同步,以及它在MVVM框架中的作用。重点介绍了Virtual DOM的工作原理、优点,如高效更新、跨平台兼容和在Next.js、Weex等框架中的应用。Snabbdom作为Vue2.x的底层实现,以其轻量和扩展性闻名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要使用虚拟DOM

  • 手动操作DOM比较麻烦,还需要考虑浏览器兼容性问题,有了jQuery等库简化DOM操作,随着项目的复杂DOM操作复杂提升。

  • 为了简化DOM的复杂操作出现了各种MVVM框架,MVVM框架解决了视图和状态的同步问题;

  • 为了简化视图操作,使用了模板引擎,但是模板引擎没解决跟踪状态变化的问题,于是Virtual DOM出现了。

  • Virtual DOM 的好处是当状态改变时,不需要立即更新DOM,只需要创建一个虚拟树来描述DOM,Virtual DOM内部将弄清楚如何有效(diff)的更新DOM。

  • Virtual-DOM

    • 虚拟DOM可以维护程序的状态,跟踪上一次的状态;

    • 通过比较前后两次的差异更新真实的DOM

作用

  • 维护视图和状态的关系;

  • 提高开发效率

  • 提升渲染性能性能(复杂视图情况下)

  • 跨浏览器兼容

  • 跨平台兼容 

    • SSR Next.js/Nuxt.js

    • 原生应用 Weex/RN

    • 小程序mpvue/uni-app/taro

snabbdom

virtual-dom

  • 最早的虚拟dom库

 JQ示例

snabbdom示例

原生操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值