Découvrez comment vous pouvez utiliser Vue Computed Properties pour mettre en cache les calculs
- Qu'est-ce qu'une propriété calculée
- Un exemple de propriété calculée
- Propriétés calculées vs méthodes
Qu'est-ce qu'une propriété calculée
Dans Vue.js, vous pouvez afficher n'importe quelle valeur de données en utilisant des parenthèses:
<template>
<p>{{ count }}</p>
</template>
<script>
export default {
data() {
return {
count: 1
}
}
}
</script>
Cette propriété peut héberger quelques petits calculs, par exemple
<template>
{{ count * 10 }}
</template>
mais vous êtes limité à un seul JavaScriptexpression.
En plus de cette limitation technique, vous devez également tenir compte du fait que les modèles ne doivent concerner que l'affichage des données à l'utilisateur, et non effectuer des calculs logiques.
Pour faire quelque chose de plus une seule expression et pour avoir plus de modèles déclaratifs, utilisezpropriété calculée.
Les propriétés calculées sont définies dans lecomputed
propriété du composant Vue:
<script>
export default {
computed: {
}
}
</script>
Un exemple de propriété calculée
Voici un exemple de code qui utilise une propriété calculéecount
pour calculer la sortie. Avis:
- Je n'ai pas eu besoin d'appeler
count()
. Vue.js appelle automatiquement la fonction J'ai utilisé une fonction régulière (pas une fonction fléchée) pour définir le
count
propriété calculée car je dois pouvoir accéder à l'instance du composant viathis
.<template> <p>{{ count }}</p> </template>
<script> export default { data() { return { items: [1, 2, 3] } }, computed: { count: function() { return 'The count is ’ + this.items.length * 10 } } } </script>
Propriétés calculées vs méthodes
Si tu sais déjàMéthodes Vue, vous vous demandez peut-être quelle est la différence.
Tout d'abord, les méthodes doivent être appelées, pas seulement référencées, vous devez donc appelercount()
au lieu decount
si tu as uncount
méthode:
<script>
export default {
data() {
return {
items: [1, 2, 3]
}
},
methods: {
count: function() {
return 'The count is ' + this.items.length * 10
}
}
}
</script>
Mais la principale différence est queles propriétés calculées sont mises en cache.
Le résultat de lacount
propriété calculée est mise en cache en interne jusqu'à ce queitems
modifications de la propriété des données.
Important: les propriétés calculées sontmis à jour uniquement lorsqu'une source réactive est mise à jour. Les méthodes JavaScript régulières ne sont pas réactives, un exemple courant consiste donc à utiliserDate.now()
:
<template>
<p>{{ now }}</p>
</template>
<script>
export default {
computed: {
now: function () {
return Date.now()
}
}
}
</script>
Il sera rendu une fois, puis il ne sera pas mis à jour même lorsque le composant sera de nouveau rendu. Juste sur une actualisation de page, lorsque le composant Vue est fermé et réinitialisé.
Dans ce cas, une méthode est mieux adaptée à vos besoins.
Téléchargez mon gratuitManuel de Vue
Plus de tutoriels vue:
- Un aperçu de Vue.js
- La CLI Vue.js: apprenez à l'utiliser
- Les DevTools Vue.js
- Configurer VS Code pour le développement Vue
- Créez votre première application avec Vue.js
- Composants de fichier unique Vue.js
- Modèles et interpolations Vue.js
- Directives Vue.js
- Méthodes Vue.js
- Propriétés calculées Vue.js
- Styliser les composants Vue.js à l'aide de CSS
- Observateurs Vue.js
- Méthodes Vue vs observateurs vs propriétés calculées
- Filtres Vue.js
- Composants Vue.js
- Machines à sous Vue.js
- Accessoires de composants Vue.js
- Événements Vue.js
- Communication des composants Vue.js
- Vuex, le gestionnaire d'état de Vue.js
- Vue, utilisez un composant à l'intérieur d'un autre composant
- Vue, comment utiliser un accessoire comme nom de classe
- Comment utiliser SCSS avec les composants de fichier unique Vue.js
- Utilisation de Tailwind avec Vue.js
- Le routeur Vue
- Afficher dynamiquement un composant Vue
- La feuille de triche Vue.js
- Stocker les données Vue sur localStorage à l'aide de Vuex
- Comment appliquer dynamiquement une classe à l'aide de Vue
- Vue, comment utiliser v-model
- Vue, pourquoi les données doivent être une fonction
- Roadmap to become a Vue.js developer in 2020