Kyr*_*nko 5 vue.js vue-component vuex vuejs2
假设 vuex 状态具有如下结构:
state: {
houses: [{
pk: 1,
historicalName: 'Poo'
}],
},
Run Code Online (Sandbox Code Playgroud)
和house从所述状态的实例被用于通过将其作为道具组分(houses.vue模板):
<div><house v-for="hs in housesState" :house="hs"></house></div>
Run Code Online (Sandbox Code Playgroud)
然后当我需要改变 的字段时house,我是否像这样编写突变:
[Types.mutations.SET_HISTORICAL_NAME]: (state, payload) => {
state.houses.find(x => x.pk === payload.house.pk).historicalName = payload.historicalName
}
Run Code Online (Sandbox Code Playgroud)
还是我传递housefrom 组件的实例
this.$store.commit(Types.mutations.SET_HISTORICAL_NAME, {house: this.house, historicalName: 'Gold'})
Run Code Online (Sandbox Code Playgroud)
并在不搜索数组的情况下更新它?
[Types.mutations.SET_HISTORICAL_NAME]: (state, payload) => {
payload.house.historicalName = payload.historicalName
}
Run Code Online (Sandbox Code Playgroud)
第二个选项会导致状态锁定吗?可以同时为不同的houses. 会更快吗?不每次都搜索数组应该会有所帮助,但我不确定这里是否那么简单。
房屋数据也被其他组件使用(我在问题中简化了数据结构),所以我认为我不能只存储house在本地组件级别。
| 归档时间: |
|
| 查看次数: |
585 次 |
| 最近记录: |