嘿,技术人员,从高空10,000英尺处,虚拟DOM如何转换为实际的DOM?

mahttirebu1988

New member
就像标题所述-虚拟DOM如何转换为实际DOM?当您在虚拟DOM中进行更改并希望将该更改移动到屏幕上(更改将反映在实际DOM中)时,是否要将虚拟DOM注册以自动更新实际DOM?如果您理解我的意思,请保持对话的方式像“虚拟DOM for DOMMIES”。
 

citcanessde1988

New member
Virtual DOM 只是实际 DOM 的一个抽象。不再实际的 DOM 上“计算”(这很慢),你可以在虚拟 DOM 上快速地完成,然后只会在实际 DOM 上应用更改。
 
1)那么您是否是在说,没有虚拟DOM,浏览器会遍历整个实际DOM以在屏幕重绘时应用更改?2)但它不还必须为其他更改做到这一点吗?3)这就引出了一个问题:“一旦您开始使用Virt.DOM,“所有”更改都必须通过它吗?
 

erneophiho1972

New member
要改变页面中的任何内容,都必须使用DOM函数来执行a)计算要修改的内容以及如何修改;b)应用更改。vDOM消除了第一个部分的需要。将a视为读取,将b视为写入。您无法完全摆脱b,但可以通过不使用DOM进行a来使网站更快。虚拟DOM只是一个通过库创建的JS结构。您的代码可以选择使用它或不使用它。它不是什么“中间件”,可以将不知道它的代码隧道。
 
每当DOM被修改时,浏览器就会重新绘制(paints)。有部分重绘和完全重绘之分。编写浏览器游戏的人非常注意优化部分重绘,并在可能的情况下避免完全重绘。此外,当滚动时,浏览器也会重新绘制(因为所绘制的内容仅是需要看到的)。
 
顶部