【发布时间】:2018-10-05 14:27:56
【问题描述】:
我不知道如何让它工作。
我正在尝试在我的 data() 上加载一个属性 (productos),它必须从状态中捕获值。
我的组件:
data () {
return {
productos: this.$store.state.mStock.productos
}
},
created() {
this.$store.dispatch('fetchProductos')
}
此时我认为没关系,当我加载我的组件时,我调度我的操作以加载商店中的状态。 我认为问题在于我填充状态的方式是 ASYNC
商店:
import StockService from '@/services/StockService'
export const moduleStock = {
strict: false,
state: {
productos: []
},
mutations: {
setProductos (state, payload) {
state.productos = payload.productos
}
},
actions: {
async fetchProductos ({commit}, payload) {
const resp = await (StockService.getProductos())
var productos = resp.data
commit('setProductos', {productos: productos})
}
}
}
当我加载我的组件时,data() 上的属性“productos”为空,但是如果我从 Vuex 开发工具中看到“state.productos”,它就有数据!
我搞砸了。
【问题讨论】:
-
将
productos用作计算属性,而不是在data()中。
标签: javascript asynchronous vue.js async-await vuex