javascript - Nuxt.js:调度 Vuex 操作不适用于 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'])
}
推荐阅读
- c# - 我如何获得一个类名变量
- github - 如何忽略整个应用程序中的扩展文件,除了特定文件夹
- android - EVP_CipherInit_ex 在未使用时崩溃,在解密密码时
- javascript - XMLHttpRequest onreadystatechange 在 Firefox 上不起作用
- java - Direct conversion from Collection
to LongStream - python - Django密码哈希使用函数password_hash()的php格式
- graphql - 使用内部查询的 GraphQL 突变插入
- python-3.x - 无法访问我的对象项目的原因
- email - 将 ansible 作业输出作为电子邮件发送
- php - 致命错误:未捕获的 ReflectionException:类配置不存在