Maison > interface Web > Questions et réponses frontales > Quelle est la différence entre la détection de valeurs angulaires sales et le détournement de données vue ?

Quelle est la différence entre la détection de valeurs angulaires sales et le détournement de données vue ?

青灯夜游
Libérer: 2021-02-01 11:46:38
original
2757 Les gens l'ont consulté

Différences : 1. La détection angulaire des valeurs sales prend en principe en charge l'IE bas de gamme et offre une meilleure compatibilité en théorie ; le détournement de données de vue nécessite un navigateur prenant en charge ES5. 2. La détection angulaire des valeurs sales convient aux mises à jour avec de grandes quantités de données ; le détournement de données Vue convient aux mises à jour avec de petites quantités de données.

Quelle est la différence entre la détection de valeurs angulaires sales et le détournement de données vue ?

Recommandations associées : "tutoriel angulaire", "tutoriel vue.js"

Il existe à peu près les méthodes suivantes pour implémenter la liaison de données :

  • Modèle éditeur-abonné (backbone.js)

  • Vérification de valeur sale (angular. js)

  • Détournement de données (vue.js)

Détection de valeurs sales en angulaire

angular.js utilise la détection de valeurs sales pour comparer si les données ont changé afin de décider de mettre à jour la vue. Le moyen le plus simple est d'interroger régulièrement pour détecter les changements de données via setInterval(). Bien sûr, Google ne le fera pas. si lent. Angular n'entre dans la détection de valeurs sales que lorsqu'un événement spécifié est déclenché, à peu près comme suit :

  • Événements DOM, tels que les utilisateurs saisissant du texte, cliquant sur des boutons, etc. (ng-click)

  • Événement de réponse XHR ($http)

  • Événement de changement d'emplacement du navigateur ($location)

  • Événement de minuterie (intervalle)

  • Exécuter apply()

Avantages et inconvénients

  • En principe, il prend en charge IE bas de gamme (rappelez-vous que le premier NG prend en charge IE8) et a une meilleure compatibilité en théorie

  • Convient aux mises à jour avec de grandes quantités de données. La complexité temporelle au niveau du processeur est O (VModel). Une petite quantité de différences mises à jour est un gaspillage de calcul

  • Vous pouvez envisager d'optimiser avec des roues et des idées comme. Immutable.js, similaire à React + Redux + Immer

  • doit être appelé manuellement. C'est la même chose que setState. C'est plus pratique après l'introduction des mises à jour à grande échelle. avoir ce problème

Le piratage de données dans vue

Le piratage de données est principalement implémenté via la méthode Object.defineProperty fournie par ES5, qui surveille les opérations sur les données, déclenchant ainsi automatiquement la synchronisation des données. De plus, puisque la synchronisation est déclenchée sur différentes données, les modifications peuvent être envoyées avec précision à la vue liée au lieu d'effectuer un test sur toutes les données.

La liaison et la synchronisation des données et des vues se reflètent en fin de compte dans le processus de lecture et d'écriture des données, c'est-à-dire dans l'ensemble de données et les fonctions d'obtention définies par Object.defineProperty().

Avantages et inconvénients

  • Utilisez les fonctionnalités natives de JavaScript, mais il faut également un navigateur prenant en charge ES5. Après tout, le front-end est orienté vers la programmation future, donc. Vue 3 prévoit de passer à l'implémentation Proxy d'ES6

  • Adapté aux mises à jour de petits volumes de données (à grain fin), la complexité temporelle au niveau du CPU est O(Change), à le coût d'une utilisation accrue de la mémoire (espace-temps)

  • Réduire la granularité de la collecte des dépendances (de la prise en compte des modifications d'un certain attribut à la prise en compte uniquement des modifications d'un certain objet) peut optimiser problèmes de mémoire

  • En fait, Vue 2 introduit Virtual DOM et utilise diff pour mettre à jour au niveau des sous-composants 🎜> La détection angulaire des valeurs sales prend en principe en charge l'IE bas de gamme (rappelez-vous que le. le premier NG prend en charge IE8) et offre une meilleure compatibilité en théorie ; tandis que le détournement de données vue nécessite un navigateur prenant en charge ES5.

  • La détection angulaire des valeurs sales convient aux mises à jour avec de grandes quantités de données ; tandis que le détournement de données Vue convient aux mises à jour avec de petites quantités de données (à grain fin).

Recommandations associées :

Un résumé des questions d'entretien de vue frontale en 2020 (avec réponses)

Tutoriel vue Recommandé : Les 5 dernières sélections de didacticiels vidéo vue.js en 2020


Pour plus de connaissances liées à la programmation, veuillez visiter :

Introduction à la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal