【发布时间】:2020-12-11 01:27:43
【问题描述】:
我有一个从我的数据库中获取数据的操作,我将来自请求的响应分配给我的 vuex 存储中状态中的各种对象/变量,然后在 app.js 中调度该操作
它的代码看起来像这样。
// Store.js
actions:{
getData(context){
axios.get('/getData').then(function(res){
context.state.var = res.data.SomeArray.var;
context.state.var2 = res.data.SomeArray.var2;
});
}
}
调度操作和日志以控制台状态和状态数据
//app.js
const app = new Vue({
el: '#app',
store: store,
async created() {
await this.$store.dispatch('getData')
console.log(this.$store.state)
console.log(this.$store.state.var)
}
});
当我打印状态时,console.log(this.$store.state) 和 console.log(this.$store.state.var) 会记录具有适当值的正确对象。然后我尝试将状态数据传播到各个组件。
问题是当我尝试从我的实际组件中的状态访问单个对象/变量、console.log(this.$store.state.var) 甚至console.log(store.state.var) 时,我得到了 undefined或者一些看起来像这样的奇怪数据:
这没有任何意义,因为 state 作为一个整体对象,显然被填充并且是正确的数据,但在构成状态的各个对象中格式错误?! p>
我是否不正确地引用了数据,我需要从它所在的文件中导入状态吗?
【问题讨论】:
标签: javascript vue.js vuex flux vuex-modules