Виртуальная модель с Vuex, не являющаяся обязательной

#vuex

#vuex

Вопрос:

Я следовал модели использования get, а затем установил в вычисляемом свойстве, чтобы заставить vmodel работать с Vuex и вводом <textarea> , но что-то не работает, и я не уверен, что это такое.

У меня есть:

 <textarea
          class="text-area size19"
          rows="10"
          v-model="userInput"
          aria-label="With textarea"
          placeholder="The more keywords you add, the better..."
        ></textarea>

 computed: {
   userInput: {
    get() {
    return this.$store.getters.userInput;
    },
    set(value) {
    this.$store.commit("updateUserInput", value);
  }
}
}
  

Затем в .store есть средство получения, которое просто возвращает значение и мутацию, подобную этой:

 updateUserInput: (state, newUserInput) => {
  state.userInput = newUserInput;
}
  

Комментарии:

1. можете ли вы предоставить более подробную информацию — что именно происходит? и если вы можете поделиться всей store.js файл, с которым вам будет намного проще помочь

Ответ №1:

Мои предположения здесь

либо:

 updateUserInput: (state, newUserInput) => {
   Vue.set(state, 'userInput', newUserInput)
}
  

или:

 getters: {
  userInput(state){return state.userInput}
},
  

но на самом деле

 computed: {
  userInput: {
    get: funciton(){
      return this.$store.state.userInput
    },
    set: function(newVal){
       this.$store.commit('updateUserInput', newVal)
    }
}