VueJS Comment puis-je utiliser la propriété calculée avec v-pour
Comment puis-je utiliser la propriété dans les listes. Je suis à l'aide de VueJS v2.0.2.
Voici le code HTML:
<div id="el">
<p v-for="item in items">
<span>{{fullName}}</span>
</p>
</div>
Voici la Vue de code:
var items = [
{ id:1, firstname:'John', lastname: 'Doe' },
{ id:2, firstname:'Martin', lastname: 'Bust' }
];
var vm = new Vue({
el: '#el',
data: { items: items },
computed: {
fullName: function(item) {
return item.firstname + ' ' + item.lastname;
},
},
});
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas créer une propriété calculée pour chaque itération. Idéalement, chacun de ces
items
serait leur propre composant, afin que chacun puisse avoir son proprefullName
propriété calculée.Ce que vous pouvez faire, si vous ne voulez pas créer un
user
composant, est d'utiliser une méthode à la place. Vous pouvez déplacerfullName
droit de lacomputed
propriétémethods
, alors vous pouvez l'utiliser comme:Également, note de côté, si vous vous trouvez avoir besoin de passer un argument à la
computed
vous voulez une méthode à la place.Ce qu'il vous manque ici, c'est que votre
items
est un tableau, qui contient tous les points, mais l'computed
est un seulfullName
, qui simplement ne peut pas exprimer tous lesfullName
s dansitems
. Essayez ceci:Puis dans la vue:
La façon dont le projet de Loi introduit sûrement œuvres, mais nous peut le faire avec calculée accessoires et je pense que c'est une meilleure conception de
method
en itérations, en particulier lorsque l'application devient plus grand. Aussi,computed
a un gain de performance par rapport àmethod
sur certaines circonstances: http://vuejs.org/guide/computed.html#Computed-Caching-vs-Methods:class
directive fonctionne mieux qu'une méthode.items
et obtenir les nom et prénom ce serait un échec. Ce que devrait vraiment être fait, c'est un "utilisateur", ce qui permet à l'utilisateur de l'objet, qui a une fullName propriété calculée.items
sont triés? @BillCriswellv-for="item in sortedVersionOfItems"
laindex
serait éteint.