vuex namespaced

import pano from './module/pano'
export const store = new Vuex.Store({
  modules: {
    pano
  }
})
// pano.js
const state = {
  pano: null
}

此时,获取state的时候是this.$store.state.pano.pano.xxx,如何才能去除一层pano?
目前其中一个方法是在pano.js里,如下这样书写,但是我的字段太多了

// pano.js
const state = {
  key1: '',
  key2: ''
}

还是用for in遍历?

// pano.js
const state = {
}
const mutations = {
  updatePano: (state, payload) => {
    for (const key in payload) {
      state[key] = payload[key]
    }
  }
}
阅读 2.3k
2 个回答

mapState简写

computed: {
    ...mapState('pano', ['pano'])
}

使用
this.pano.xxx

应该去不掉吧,第一层表示模块名称,第二层表示属性名,如果觉得长的话使用mapState吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进