【发布时间】:2018-11-04 21:43:41
【问题描述】:
在我的商店里,我有...
...
addresses: [ /* array of address objects */ ],
address: { /* holds chosen address */ }
...
在我的组件中,我有...
import {mapState, mapActions} from 'vuex'
export default {
name: 'AddressBook',
watch: {
selectedAddress: function(newval) {
// Update the address
// address and addresses is mapped from the vuex store.
this.address = Object.assign( this.address, this.addresses[newval]);
}
},
data: {
selectedAddress: 0 /* Address selected by index */
}
computed: {
...mapState(['addresses', 'address'])
}
}
地址和地址是从 vuex 映射的。 用户从地址选择框中选择一个地址(例如地址[1])...用于更新地址。
让我感到困惑的是,以这种方式更新 this.address 是可行的……我的 Vuex 商店发生了变化。我以为我必须派遣/提交等..?这似乎太简单了..太容易了..
在组件级别以这种方式更新 this.address 是否安全?
【问题讨论】:
标签: vue.js vuejs2 vue-component vuex