【发布时间】:2016-12-16 22:29:17
【问题描述】:
我有一个客户列表,它实际上是一个对象数组。我将它存储在 Vuex 中。我在我的组件中呈现列表,每一行都有一个复选框。更准确地说,我使用了敏锐的 UI,复选框渲染部分看起来像:
<tr v-for="customer in customers" :class="{ selected: customer.selected }">
<td>
<ui-checkbox :value.sync="customer.selected"></ui-checkbox>
</td>
<td>{{ customer.name }}</td>
<td>{{ customer.email }}</td>
</tr>
所以复选框直接更改了不好的客户数组:我在 Vuex 中使用严格模式,它会抛出一个错误。
我想跟踪数组何时发生变化并调用一个动作来改变 vuex 状态:
watch: {
'customers': {
handler() {
// ...
},
deep: true
}
但是它仍然直接改变了客户。我该如何解决这个问题?
【问题讨论】:
标签: javascript arrays vue.js vuex