在我的Vuex商店中,我有一个操作,该操作一旦获得结果,就遍历结果的每个元素,并向每个元素添加新属性。
Vue.axios
.get(endpoint, headers)
.then(res => {
if (Array.isArray(res.data) && res.data.length) {
res.data.forEach(el => {
el.link = 'some_dynamic_link'
})
commit('SET_ACTIVITY', res.data)
}
})
问题是我的商店最终得到了来自rsult的数据,而没有将link
添加到任何元素中。
我认为这样的调整会有所帮助:
if (_.has(res.data[res.data.length - 1], 'link')) { commit('SET_ACTIVITY', res.data) }
但是然后突变最终根本没有执行,任何想法我怎么能实现这种同步行为?
更新 尝试改用地图:
.then(res => {
if (Array.isArray(res.data) && res.data.length) {
commit('SET_ACTIVITY', res.data.map(el => {
el.link = 'some_dynamic_link'
}))
}
})
但是商店没有包含元素为undefined
的活动数组