Qu'est-ce que Angular 2 utilise pour mettre à jour le DOM. S'agit-il d'un Shadow DOM ou d'un DOM virtuel? Existait-il un tel concept dans Angular 1?
Angular2 n'utilise pas shadow DOM (par défaut) ni DOM virtuel .
Avec encapsulation: ViewEncapsulation.Emulated
(valeur par défaut) il n'y a pas shadow DOM car l'encapsulation de style est uniquement émulée.
encapsulation: ViewEncapsulation.Native
active le DOM fantôme sur les navigateurs qui le prennent en charge en mode natif ou est émulé à nouveau lorsque le polyfill de composants Web est chargé.
Shadow DOM ne vise pas non plus les performances, contrairement au DOM virtuel, mais l’encapsulation de styles.
Angular2 n'utilise pas DOM virtuel .
Angular2 a une détection de modification qui détecte les modifications apportées au modèle et met à jour uniquement les parties du DOM qui doivent être modifiées en fonction des modifications apportées au modèle.
Pour plus de détails, voir aussi Est-ce que shadow DOM est rapide comme Virtual DOM dans React.js?
React et Vue utilisent Virtual DOM et Angular utilisent le système de rendu DOM direct.
C'est la même chose que Angular a fait avec la version 1.x, mais c'est optimisé et il y a une surprise pour vous :)
Il est beaucoup plus rapide de travailler avec des objets JavaScript qu'avec DOM, car rien ne se noie à l'écran