#vue.js #vuejs2 #vuex
#vue.js #vuejs2 #vuex
Вопрос:
После прочтения документации мне нужно добавить двустороннее вычисляемое свойство для привязки данных из моей формы к хранилищу. Но мне нужно привязать к элементу объекта:
checked: {
'football': [],
'tennis': [],
'rugby': [],
},
При вычислении:
testBinding: {
get () {
return this.$store.state.Sports.checked;
},
set (value) {
this.$store.commit('Sports/checked', value);
}
},
Внутри моего зацикленного флажка:
<input type="checkbox" :value="option.id" v-model="testBinding">
Как мне привязаться к чему-то подобному football
в хранилище, когда football
необходимо динамически устанавливать привязку, что-то вроде v-model="testBinding[key]"
?
Ответ №1:
Вы можете объявить получатели и установщики для свойств, которые вы хотите сделать динамическими. Вычисляемые свойства не будут работать, поскольку вы не можете передать им параметры. Вы можете football
подобным образом определить свой checked
объект данных
checked: {
get football () {
return this.$store.state.Sports.checked;
},
set football (value) {
this.$store.commit('Sports/checked', value);
}
'tennis': [],
'rugby': [],
},
И должен иметь возможность привязываться к нему
<input type="checkbox" :value="option.id" v-model="checked['football']">
или
<input type="checkbox" :value="option.id" v-model="checked.football">
или
<input type="checkbox" :value="option.id" v-model="checked[var]">
где var
— переменная со значением football
.