Comment transmettre des paramètres pour les attributs calculés ?
<ul>
<li v-for="item in goods" :style="goodsType" v-text="item.name"></li>
</ul>
data: {
goods: [{
id: 2,
type: 3,
name: '薯片'
},{
id: 3,
type: 5,
name: '冰红茶'
}]
},
computed: {
goodsType: function(type){
switch (type) {
case 3:
return "color: #ff9900"
break;
case 5:
return "color: #00BC0C"
break;
}
}
}
Si les paramètres ne peuvent pas être transmis, vous pouvez les écrire sous forme de méthodes
Tout d'abord, la méthode dans l'attribut calculé ne peut pas transmettre de paramètres. D'après votre code, je pense que ce que vous voulez réaliser est de renvoyer la couleur en fonction du changement de type. Ensuite, vous devez comprendre que la valeur renvoyée par le calculé. L'attribut est uniquement lié à la valeur qu'il contient. Les dépendances sont liées. Lorsque les dépendances changent, la propriété calculée sera déclenchée pour recalculer puis modifier la valeur, vous devez donc saisir une donnée de la machine virtuelle, puis devenir une dépendance de la machine virtuelle. propriété calculée. Le code simple est le suivant :
Cette exigence ne peut-elle pas être résolue avec des données d'instance d'objet ?
Liez le style à
{color: colors[item.type]}
https://cn.vuejs.org/v2/guide... calcul-setter