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
});