Maison interface Web Voir.js Comment optimiser de manière collaborative les performances des applications grâce à l'attribut calculé et à l'attribut watch de Vue

Comment optimiser de manière collaborative les performances des applications grâce à l'attribut calculé et à l'attribut watch de Vue

Jul 18, 2023 pm 04:25 PM
vue computed watch

Comment optimiser de manière collaborative les performances des applications grâce aux propriétés calculées et aux propriétés de surveillance de Vue

Introduction :
Vue est un framework JavaScript progressif pour la création d'interfaces utilisateur. Son concept principal est de lier de manière bidirectionnelle des données et des vues. Dans le développement réel, nous devons souvent traiter certaines données qui nécessitent un calcul ou une surveillance en temps réel, comme la validation de formulaires, le filtrage des données, etc. Afin d'améliorer les performances des applications, Vue fournit des attributs calculés et des attributs de surveillance pour gérer ces exigences de manière collaborative. Cet article explique comment utiliser les attributs calculés et les attributs de surveillance pour optimiser les performances des applications, et donne des exemples de code correspondants.

1. Utilisation de l'attribut calculé
L'attribut calculé nous permet de déclarer certaines propriétés basées sur des dépendances réactives et d'y encapsuler la logique de calcul. Vue mettra automatiquement à jour les valeurs des propriétés calculées en fonction des modifications des dépendances associées pour garantir qu'elles sont toujours à jour.

1.1 Syntaxe de base
Déclarer l'attribut calculé dans un composant Vue est très simple. Il vous suffit de définir une fonction dans l'attribut calculé du composant. Par exemple :

computed: {
    fullName() {
        return `${this.firstName} ${this.lastName}`;
    }
}
Copier après la connexion

Dans le code ci-dessus, nous définissons un attribut calculé fullName, qui renvoie le nom complet après la combinaison de firstName et lastName.

1.2 Cache informatique
Une caractéristique importante de l'attribut calculé est la mise en cache informatique. Lorsque les données réactives dont dépend un attribut calculé changent, l'attribut calculé sera recalculé et les résultats du calcul seront mis en cache. Lors du prochain accès à la propriété calculée, si aucune dépendance associée n'a changé, Vue renverra directement la valeur mise en cache sans recalculer.

Ce mécanisme de cache de calcul améliore considérablement les performances, en particulier lorsque les attributs calculés nécessitent des ressources informatiques importantes, telles que les opérations de filtrage de tableaux.

1.3 Exemple
Ce qui suit est un exemple de code utilisant l'attribut calculé :

<template>
  <div>
    <input v-model="firstName" type="text" placeholder="请输入姓">
    <input v-model="lastName" type="text" placeholder="请输入名">
    <p>{{ fullName }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      firstName: '',
      lastName: ''
    };
  },
  computed: {
    fullName() {
      return `${this.firstName} ${this.lastName}`;
    }
  }
};
</script>
Copier après la connexion

Dans le code ci-dessus, nous lions de manière bidirectionnelle deux éléments d'entrée et l'attribut data du composant via la directive v-model. Utilisez ensuite {{ fullName }} dans le modèle pour afficher les résultats du calcul. Lorsque firstName ou lastName change, Vue mettra automatiquement à jour la valeur de fullName et affichera le résultat mis à jour sur la page.

2. Utilisation de l'attribut watch
L'attribut watch nous permet de surveiller un changement de données spécifique et d'effectuer les opérations correspondantes lorsque les données changent. Contrairement à l'attribut calculé, l'attribut watch n'effectue pas de calculs, mais exécute une logique personnalisée après la modification des données.

2.1 Syntaxe de base
Déclarer l'attribut watch dans le composant Vue est également très simple. Il vous suffit de définir une fonction dans l'attribut watch du composant. Par exemple :

watch: {
    firstName(newValue, oldValue) {
        console.log(`firstName从${oldValue}变为${newValue}`);
    }
}
Copier après la connexion

Dans le code ci-dessus, nous définissons un attribut watch pour surveiller le changement de firstName et imprimer les valeurs avant et après le changement lorsqu'il change.

2.2 Surveillance approfondie
Par défaut, Vue surveille uniquement les modifications des propriétés directes des objets ou des tableaux. Si vous devez surveiller en profondeur les modifications de tous les attributs d'un objet ou d'un tableau, vous pouvez utiliser l'attribut deep dans l'attribut watch. Par exemple :

watch: {
    obj: {
        handler(newValue, oldValue) {
            console.log('obj发生变化');
        },
        deep: true
    }
}
Copier après la connexion

Dans le code ci-dessus, nous surveillons en profondeur les modifications d'un objet nommé obj. Lorsqu'un attribut de obj change, la fonction de traitement correspondante sera déclenchée. Ceci est utile pour écouter les changements dans les objets.

2.3 Surveillance asynchrone
Parfois, nous souhaitons effectuer certaines opérations asynchrones après des modifications de données, telles que l'envoi de requêtes ou la mise à jour des caches. Vue permet de définir une fonction asynchrone appelée handler dans l'attribut watch pour gérer cette situation. Par exemple :

watch: {
    firstName(newValue, oldValue) {
        this.debouncedGetData();
    }
},
methods: {
    debouncedGetData: debounce(function() {
        // 异步操作
    }, 500)
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction anti-rebond dans la bibliothèque lodash pour limiter la fréquence d'appel de this.debouncingGetData afin de garantir qu'une seule opération asynchrone est effectuée dans les 500 millisecondes.

3. Utilisation collaborative des attributs calculés et des attributs de surveillance
Les attributs calculés et les attributs de surveillance peuvent être utilisés de manière collaborative et ils ne s'excluent pas mutuellement. Dans le développement réel, nous pouvons choisir de manière flexible l'un des deux en fonction de différents besoins, ou utiliser les deux en même temps.

Lorsque vous utilisez l'attribut calculé, vous devez prendre en compte les caractéristiques du cache de calcul, qui conviennent aux résultats qui reposent sur d'autres calculs de données réactifs. Lorsque vous utilisez l'attribut watch, il s'agit généralement de surveiller les modifications des données réactives et d'effectuer les opérations correspondantes, ce qui convient aux scénarios nécessitant une réponse immédiate aux modifications des données.

Par exemple, nous pouvons utiliser l'attribut calculé pour calculer le prix total d'un panier :

computed: {
    totalPrice() {
        return this.cart.reduce((total, product) => total + product.price * product.quantity, 0);
    }
}
Copier après la connexion

Et utiliser l'attribut watch pour suivre l'évolution de la quantité d'un produit dans le panier et mettre à jour le prix total lorsqu'il changements :

watch: {
    'cart': {
        handler(newValue, oldValue) {
            this.totalPrice = this.cart.reduce((total, product) => total + product.price * product.quantity, 0);
        },
        deep: true
    }
}
Copier après la connexion

Dans ce qui précède Dans le code, nous surveillons les changements dans le panier (cart). Lorsque la quantité d'un produit dans le panier change, le prix total (totalPrice) sera recalculé et mis à jour.

Conclusion :
Dans la pratique du développement Vue, l'utilisation rationnelle des attributs calculés et des attributs de surveillance peut améliorer les performances des applications et l'efficacité du développement. L'attribut calculé peut économiser des ressources informatiques et mettre en œuvre une logique métier complexe ; tandis que l'attribut de surveillance peut surveiller les modifications des données et effectuer les opérations correspondantes pour répondre à certains besoins particuliers. Une utilisation flexible de ces deux fonctionnalités en fonction de situations spécifiques peut rendre le code plus concis et élégant.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

See all articles