La propriété 'computed' dans Vue.js a pour objectif de calculer et de renvoyer une valeur basée sur des dépendances réactives. Concrètement, cela signifie qu'elle permet de réaliser des opérations sur des données liées à l'instance Vue et de refaire ces calculs chaque fois que ces données changent.
Dans Vue.js, une propriété 'computed' est une fonction qui est liée à une ou plusieurs propriétés réactives (c'est-à-dire, des propriétés qui peuvent être surveillées pour des changements). Lorsque l'une de ces propriétés réactives change, la fonction 'computed' est automatiquement appelée à nouveau pour recalculer sa valeur.
Supposons que vous ayez une application de commerce électronique comprenant un panier d'achat. Dans le panier, chaque article a un prix et une quantité. Vous pourriez utiliser une propriété 'computed' pour calculer le coût total de tous les articles dans le panier. Chaque fois qu'un article est ajouté, supprimé ou que la quantité d'un article existant est modifiée, la propriété 'computed' serait actualisée pour refléter le nouveau coût total.
new Vue({
el: '#app',
data: {
cart: [
{ product: 'Apple', price: 1, quantity: 3 },
{ product: 'Banana', price: 2, quantity: 2 },
{ product: 'Cherry', price: 3, quantity: 1 }
]
},
computed: {
totalCost: function() {
return this.cart.reduce((sum, item) => {
return sum + (item.price * item.quantity);
}, 0);
}
}
});
Avec cet exemple, chaque fois que la propriété cart
change, la propriété 'computed' totalCost
est automatiquement recalculée pour refléter le nouveau total.
La propriété 'computed' est puissante et peut grandement simplifier votre code, mais elle doit être utilisée avec soin. Voici quelques recommandations pour l'utiliser de manière efficace :