According to Vue.js' documentation,它使用引擎盖下的VDOM来呈现UI。根据我的理解,VDOM主要是为了避免“跟踪依赖性”而发明的。借助VDOM,可以调整应用程序的大部分内容,而不必知道究竟发生了什么变化。因此,可以使用普通对象和数组来描述视图,只需要通知框架有关更改(如React中的setState
)。然后,将两个VDOM树进行比较,并将最小的所需更改集应用于真实DOM。为什么Vue.js使用VDOM?
另一方面,Vue.js使用跟踪的依赖关系。它确切知道发生了什么变化,因此可以使用DOM绑定。此外,由于大多数Vue.js用户已经在使用模板语言,因此VDOM提供的更大的灵活性并没有真正受益。那么为什么Evan决定使用VDOM?
我猜虚拟域将在服务器端渲染帮助。您可以在这里阅读更多(https://vuejs.org/2016/04/27/announcing-2.0/) –
模板语言可以在不使用VDOM抽象的情况下进行服务器渲染。您只需将模板编译为返回字符串(或字符串流)的函数即可。 –