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'
}),
}
最后我得到一个错误 colors is undefined,但是下面的代码没有 Vuex
async fetch() {
return await this.$axios.$get(EP_GET_DATA_SETTINGS).then((data)=>{
this.settings = data
})
}
请指教如何解决这个问题
当你对 Vuex 模块使用 mapState
时,第一个参数是模块名称:
computed: {
...mapState('settings', {
loading: 'loading',
settings:'settings'
}),
}
这是另一种使用数组语法的方法:
computed: {
...mapState('settings', ['loading', 'settings'])
}
computed: {
...mapState({
loading: (state) => state.settings.loading,
settings: (state) => state.settings.settings,
}),
}
我正在尝试在 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'
}),
}
最后我得到一个错误 colors is undefined,但是下面的代码没有 Vuex
async fetch() {
return await this.$axios.$get(EP_GET_DATA_SETTINGS).then((data)=>{
this.settings = data
})
}
请指教如何解决这个问题
当你对 Vuex 模块使用 mapState
时,第一个参数是模块名称:
computed: {
...mapState('settings', {
loading: 'loading',
settings:'settings'
}),
}
这是另一种使用数组语法的方法:
computed: {
...mapState('settings', ['loading', 'settings'])
}
computed: {
...mapState({
loading: (state) => state.settings.loading,
settings: (state) => state.settings.settings,
}),
}