Table des matières
1.calculé
1.1 Calcul de nouvelles données
1.2 Traiter les données existantes
2. watch
3. Conclusion
Maison interface Web Voir.js Conseils d'utilisation de Computed et Watch pour implémenter le calcul et la surveillance des données dans Vue

Conseils d'utilisation de Computed et Watch pour implémenter le calcul et la surveillance des données dans Vue

Jun 25, 2023 pm 01:00 PM
vue computed watch

Vue.js est un framework frontal JavaScript populaire qui fournit de riches fonctionnalités de liaison de données et réactives, nous permettant de gérer facilement l'état des applications Web. Parmi eux, Computed et Watch sont deux outils importants de traitement et de surveillance des données dans Vue.js. Cet article expliquera comment les utiliser pour mettre en œuvre des techniques de calcul et de surveillance des données.

1.calculé

calculé Une propriété calculée est une propriété qui dépend de la valeur d'autres propriétés, c'est-à-dire que lorsque les valeurs d'autres propriétés changent, la propriété calculée sera automatiquement recalculée. Les propriétés calculées ont deux fonctions principales :

  • Utilisé pour calculer de nouvelles données, telles que l'affichage du nombre total d'éléments de liste ou le tri des données de la liste.
  • Traiter les données existantes, telles que le formatage de la date ou du montant, etc.

1.1 Calcul de nouvelles données

Nous pouvons définir plusieurs propriétés calculées dans l'objet calculé de l'instance Vue. Le résultat renvoyé par une propriété calculée peut être utilisé directement dans le modèle et il ne sera recalculé que lorsque la propriété dépendante change. Voici un exemple :

<template>
  <div>
    <p>商品数量: {{ products.length }}</p>
    <ol>
      <li v-for="(product, index) in sortedProducts" :key="index">
        {{ product.name }} - ${{ product.price }}
      </li>
    </ol>
  </div>
</template>

<script>
export default {
  data() {
    return {
      products: [
        { name: "iPhone 12", price: 799 },
        { name: "MacBook Air", price: 999 },
        { name: "iPad Pro", price: 699 },
        { name: "AirPods Pro", price: 249 },
      ]
    }
  },
  computed: {
    sortedProducts: function() {
      return this.products.sort((a, b) => a.price - b.price);
    }
  }
}
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous trions la liste de produits en calculant les attributs. La propriété calculée sortedProducts trie les prix des produits par ordre croissant, puis renvoie les résultats triés à la directive v-for dans le modèle pour le rendu.

Il est à noter qu'une propriété calculée ne sera recalculée que lorsque les propriétés dont elle dépend changent. Ainsi, même si nous utilisons this.products dans la propriété calculée sortedProducts, sortedProducts ne sera pas recalculé tant que les produits n'ont pas changé.

1.2 Traiter les données existantes

Les propriétés calculées peuvent non seulement être utilisées pour calculer de nouvelles données, mais peuvent également être utilisées pour traiter des données existantes, telles que le formatage des dates ou du montant, etc. Voici un exemple :

<template>
  <div>
    <p>订单时间: {{ formattedTime }}</p>
    <button @click="updateTime">更新时间</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      orderTime: new Date()
    }
  },
  computed: {
    formattedTime: function() {
      return this.orderTime.toLocaleString();
    }
  },
  methods: {
    updateTime: function() {
      this.orderTime = new Date();
    }
  }
}
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous formatons l'heure de la commande en une chaîne de date et d'heure locale (toLocaleString) en calculant les attributs et affichons le résultat formaté dans le modèle. En raison de la nature des propriétés calculées, formattedTime ne sera recalculé que lorsque orderTime changera.

2. watch

watch est une fonction qui surveille en profondeur les sources de données unifiées. Contrairement au calcul, lorsque la source de données surveillée par la montre change, le modèle ne sera pas automatiquement restitué, mais l'opération doit être effectuée manuellement. watch est principalement utilisé pour surveiller les modifications des données afin de déclencher les opérations correspondantes. Voici un exemple :

<template>
  <div>
    <p>剩余字符数: {{ charsLeft }}</p>
    <textarea v-model="text" @keyup="updateChars"></textarea>
  </div>
</template>

<script>
export default {
  data() {
    return {
      text: ""
    }
  },
  watch: {
    text: function(val) {
      if (val.length > 10) {
        alert("输入字符数不能超过10个!");
      }
    }
  },
  computed: {
    charsLeft: function() {
      return 10 - this.text.length;
    }
  },
  methods: {
    updateChars: function() {
      this.charsLeft = 10 - this.text.length;
    }
  }
}
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons watch pour surveiller la variable de texte dans la zone de saisie. Lorsque la longueur du texte dépasse 10 caractères, la montre déclenchera l'opération correspondante et affichera une boîte d'avertissement pour empêcher l'utilisateur de continuer à saisir. En même temps, nous comptons le nombre de caractères restants via l'attribut calculé calculé. Nous pouvons voir que l'attribut calculé charsLeft ne sera recalculé que lorsque le texte sera modifié.

Il est à noter que la variable surveillée par la montre est une fonction et recevra deux paramètres : nouvelle valeur et ancienne valeur. Nous pouvons effectuer les opérations correspondantes en fonction de ces deux paramètres. watch fournit également des options avancées telles qu'une surveillance approfondie et une exécution immédiate, qui peuvent être configurées en fonction de besoins spécifiques.

3. Conclusion

computed et watch sont des outils essentiels dans Vue.js, qui conviennent très bien aux traitements et suivis complexes de données. Nous pouvons définir plusieurs propriétés calculées dans le calcul et contrôler l'ordre de calcul et la méthode de mise à jour via des dépendances. En surveillance, nous pouvons surveiller en profondeur la source de données et réagir aux changements dans la source de données en temps réel. Bien que le calcul et la surveillance entraînent certains coûts d'apprentissage et d'utilisation, l'augmentation de ces coûts vous aidera à créer des applications Vue plus flexibles et plus efficaces.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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 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 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 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.

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.

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 sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

Comment utiliser ForEach Loop à Vue Comment utiliser ForEach Loop à Vue Apr 08, 2025 am 06:33 AM

La boucle Foreach dans Vue.js utilise la directive V-FOR, qui permet aux développeurs d'itérer à travers chaque élément dans un tableau ou un objet et effectuer des opérations spécifiques sur chaque élément. La syntaxe est la suivante: & lt; modèle & gt; & lt; ul & gt; & lt; li v-for = & quot; item in items & gt; & gt; {{item}} & lt; / li & gt; & lt; / ul & gt; & lt; / template & gt; & am

See all articles