存储操作中的数据操作后同步提交Vuex突变

时间:2019-01-20 17:51:20

标签: javascript vue.js vuex

在我的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的活动数组

0 个答案:

没有答案