-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[vue] 如何实现一个虚拟DOM?说说你的思路 #325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
就目前我想到的 就只有两种:
|
虚拟DOM本身是一个JavaScript对象模拟真实DOM ,用对象的属性去描述一个DOM节点,最终也只是一个真实DOM的映射 |
createElement,render |
虚拟Dom在vue底层实现中是一个类,每次_render的时候都会实例化Vnode为一个虚拟dom对象。也就是说本质上是用一个js对象来描述dom节点。 |
可以使用 document.createDocumentFragment 创建虚拟节点 |
定义虚拟dom的数据结构虚拟DOM可以用一个JavaScript对象来表示,通常包含标签名、属性、子节点等信息。
编写虚拟dom的创建和更新逻辑可以编写函数或类来创建和更新虚拟DOM节点。 实现虚拟dom的渲染和挂载虚拟DOM的渲染可以通过递归遍历虚拟DOM树来实现。 处理虚拟dom的更新和事件处理当虚拟DOM发生变化时,可以通过比较新旧虚拟DOM对象,找出需要更新的节点,只对这些节点进行DOM操作,从而提高性能。 |
[vue] 如何实现一个虚拟DOM?说说你的思路
The text was updated successfully, but these errors were encountered: