, verwendet es einen VDOM unter der Haube, um die Benutzeroberfläche zu rendern. Aus meiner Sicht wurde der VDOM hauptsächlich erfunden, um "verfolgte Abhängigkeiten" zu vermeiden. Mit einem VDOM ist es möglich, größere Teile der Anwendung abzustimmen, ohne zu wissen, was genau sich geändert hat. Als Ergebnis kann man einfache Objekte und Arrays verwenden, um die Ansicht zu beschreiben, und muss nur das Framework über eine Änderung informieren (wie setState
in React). Dann werden beide VDOM-Bäume verglichen und der minimale Satz erforderlicher Änderungen wird auf das reale DOM angewendet.Warum verwendet Vue.js einen VDOM?
Vue.js verwendet auf der anderen Seite verfolgte Abhängigkeiten. Es weiß genau, was sich geändert hat, so dass es möglich wäre, DOM-Bindungen zu verwenden. Da die meisten Vue.js-Benutzer die Templating-Sprache bereits verwenden, profitiert sie nicht wirklich von der größeren Flexibilität, die ein VDOM bietet. Warum entschied sich Evan für einen VDOM?
Ich denke, vdom in Server-Seite Rendering helfen würde. Sie können hier mehr lesen (https://vuejs.org/2016/04/27/announcing-2.0/) –
Templating-Sprachen können server-gerendert werden, ohne die VDOM-Abstraktion zu verwenden. Sie müssen die Vorlagen nur für Funktionen kompilieren, die eine Zeichenfolge (oder einen Stream von Zeichenfolgen) zurückgeben. –