【发布时间】:2017-10-29 12:08:37
【问题描述】:
According to Vue.js' documentation,它在后台使用 VDOM 来呈现 UI。据我了解,VDOM 主要是为了避免“跟踪依赖”而发明的。使用 VDOM,可以在不知道究竟发生了什么变化的情况下协调应用程序的更大部分。因此,可以使用普通对象和数组来描述视图,并且只需要通知框架有关更改(如 React 中的setState)。然后,比较两个 VDOM 树,并将所需更改的最小集合应用于真实 DOM。
另一方面,Vue.js 使用跟踪依赖项。它确切地知道发生了什么变化,因此可以使用 DOM 绑定。此外,由于大多数 Vue.js 用户已经在使用模板语言,它并没有真正受益于 VDOM 提供的更大灵活性。那么为什么 Evan 决定使用 VDOM?
【问题讨论】:
-
我猜 vdom 将有助于服务器端渲染。你可以在这里阅读更多信息(vuejs.org/2016/04/27/announcing-2.0)
-
模板语言可以在不使用 VDOM 抽象的情况下进行服务器渲染。您只需要将模板编译为返回字符串(或字符串流)的函数。
标签: javascript vue.js rendering frontend