【发布时间】:2017-03-09 03:55:41
【问题描述】:
我有一个包含一些复选框的组件。我需要能够访问从我的 Vue 应用程序中的其他组件检查了哪些复选框,但我一生都无法弄清楚(也无法在线找到)如何正确地将复选框连接到我的 Vuex 商店。
将组件中的复选框连接到 Vuex 存储的正确方法是什么,以便它们的行为就像复选框通过 v-model 连接到组件数据一样?
这是我正在尝试做的事情的起点(在非常基本的意义上)
https://jsfiddle.net/9fpuctnL/
<div id="colour-selection">
<colour-checkboxes></colour-checkboxes>
</div>
<template id="colour-checkboxes-template">
<div class="colours">
<label>
<input type="checkbox" value="green" v-model="colours"> Green
</label>
<label>
<input type="checkbox" value="red" v-model="colours"> Red
</label>
<label>
<input type="checkbox" value="blue" v-model="colours"> Blue
</label>
<label>
<input type="checkbox" value="purple" v-model="colours"> Purple
</label>
<chosen-colours></chosen-colours>
</div>
</template>
<template id="chosen-colours-template">
<div class="selected-colours">
{{ colours }}
</div>
</template>
const store = new Vuex.Store({
state: {
colours: []
}
});
Vue.component('colour-checkboxes', {
template: "#colour-checkboxes-template",
data: function() {
return {
colours: []
}
}
});
Vue.component('chosen-colours', {
template: "#chosen-colours-template",
computed: {
colours() {
return store.state.colours
}
}
});
const KeepTalkingSolver = new Vue({
el: "#colour-selection"
});
目的是让颜色复选框组件中选择的颜色通过Vuex商店输出到选择颜色组件中。
【问题讨论】:
-
一些代码会有帮助吗?