javascriptvue.jsvuejs2vuexv-model

Should we use v-model to modify Vuex store?


Hello I am beginner in Vue and I do have a problem that's really bugging me. I am wondering should we use v-model directive to modify vuex store? Vuex says that we should modify vuex store only by mutations but v-model makes everything easier and shorter.(I am asking because i couldn't find clear answer)


Solution

  • https://vuex.vuejs.org/guide/forms.html

    When using Vuex in strict mode, it could be a bit tricky to use v-model on a piece of state that belongs to Vuex.

    The "Vuex way" to deal with it is binding the <input>'s value and call an action on the input or change event.

    Be sure to check out the simple "Two-way Computed Property" example on that page:

    <input v-model="message">
    
    computed: {
      message: {
        get () {
          return this.$store.state.obj.message
        },
        set (value) {
          this.$store.commit('updateMessage', value)
        }
      }
    }