繁体   English   中英

Nuxt.js:调度 Vuex 操作不适用于 mapState

[英]Nuxt.js: dispatch Vuex action not working with mapState

我正在尝试在 NuxtJS 的 fetch 挂钩中调度操作

async fetch() {
  return await this.$nuxt.context.store.dispatch('settings/getSettings')
}

然后

<el-table v-if="!$fetchState.pending" :data="settings.colors">
 ...
</el-table>

他们

computed: {
  ...mapState({
    loading: 'settings/loading',
    settings:'settings/settings'
  }),
}

最后我得到一个错误颜色未定义,但是下面的代码可以工作,没有 Vuex

async fetch() {
  return await this.$axios.$get(EP_GET_DATA_SETTINGS).then((data)=>{
    this.settings = data
  })
}

请告知如何解决这个问题

当您将mapState与 Vuex 模块一起使用时,第一个参数是模块名称:

computed: {
  ...mapState('settings', {
    loading: 'loading',
    settings:'settings'
  }),
}

这是使用数组语法的另一种方法:

computed: {
  ...mapState('settings', ['loading', 'settings'])
}
computed: {
  ...mapState({
    loading: (state) => state.settings.loading,
    settings: (state) => state.settings.settings,
  }),
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM