donc j'ai un composant qui a cette méthode: alors cela se produit dans actions.js: p> maintenant mon composant a des données appelées succès: false code> et je veux la définir sur true code> lorsque j'appelle la fonction de actions.js code> contactAuthor code>. Comment puis-je retourner true code> et le définir sur Data succès code> dans le composant? p> p>
3 Réponses :
Personnellement, je sens que l'envoi des données au composant n'est pas la manière idéale. Au lieu de cela, vous pouvez avoir une autre constante (comme ci-dessous) dans actions.js et avoir un getter pour la même chose. Accédez au getter dans votre composant comme une propriété calculée.
// component.vue
computed: {
apiDataFetchSuccess() {
return this.$store.getters.API_DATA.fetch.success
},
apiData() {
return this.$store.getters.API_DATA.data
}
}
Les gens ont besoin de uplifier cette réponse. Si vous n'utilisez pas le magasin pour suivre l'état, pourquoi l'utilisez-vous en premier lieu? Laissez-moi élaborer: personne ne vous empêchera de passer une fonction de rappel à la charge utile de l'action. Si vous faites cela, vous pouvez en effet obtenir une réponse directe de l'action. Mais cela vaincre tout le concept d'utilisation d'un magasin en premier lieu et tout cadre réactif en principe.
ok donc cela a fonctionné.
this.$store.dispatch('contactAuthor', message).then(data => {
this.success = data;
});
Qu'est-ce que vous avez reçu du rappel? Quelle est la valeur des données code> Je ne vois rien de résoudre!
@Satyampathak data code> est true code> car data code> est trueMessage code> à partir de API code> appelle
Dans vos mutations de magasin, vous devez faire quelque chose comme ceci: dans votre composant fait quelque chose comme ceci: P> this.$store.dispatch('contactAuthor', message)
.then( (success) => {
//OK, do something
})
.catch( (error) => {
// ERROR, do something
});