web-dev-qa-db-fra.com

Devrions-nous utiliser le modèle V pour modifier VUEX Store?

Bonjour je suis débutant dans Vue et j'ai un problème qui me dérange vraiment. Je me demande devrions utiliser la directive V-modèle pour modifier VUEX Store? VUEX dit que nous devrions modifier VUEX Store uniquement par mutations mais V-modèle rend tout plus facile et plus court. (Je demande parce que je n'ai pas pu trouver une réponse claire)

15
Krzysztof Kaczyński

Oui, vous pouvez mais ce n'est pas la meilleure pratique.

Comme la documentation indique que l'État doit être mis à jour uniquement dans la mutation intérieure pour conserver le contrôle de l'état.

Mais si vous voulez vraiment le faire, vous pouvez avec:

v-model="$store.state.yourProperty"
0
Tristan De oliveira

La solution ci-dessus peut également être mise en œuvre avec des mutations:

<template>
  <input v-model="message">
</template>

<script>
import { mapMutations, mapState } from 'vuex';

export default {
  computed: {
    ...mapState({messageFromStore: 'message'}),
    message: {
      get() {
        return this.messageFromStore;
      },
      set(value) {
        this.updateMessage(value);
      }
    }
  },
  methods: {
    ...mapMutations('updateMessage')
  }
};
</script>
0
Simon Thiel