【发布时间】:2019-06-13 06:32:44
【问题描述】:
我正在尝试从计算访问数组。控制台 vuex 显示计算数组在那里,但我无法从 created() 访问数组。任何帮助表示赞赏!
我试图保存到数据数组中,没有找到计算数组。
<template>
<div>
{{ product.product_name }}
</div>
</template>
<script>
export default {
name: 'product_4',
created() {
this.product = this.products.find((product) => product.id == 4);
},
data() {
return {
product: {}
}
},
computed: {
products() {
return this.$store.getters.products;
}
}
}
</script>
store.js
state: {
products:[]
},
getters: {
products(state) {
return state.products;
}
},
mutations: {
updateGetProducts(state, payload) {
state.products = payload;
}
},
actions: {
getProducts(context) {
axios.get('/api/getproducts')
.then((response)=> {
context.commit('updateGetProducts', response.data);
});
}
}
【问题讨论】:
-
你有没有尝试安慰
products?你确定有一个名为product_name的属性吗? -
是的,它显示在 vuex 中,但在 computed() 产品下
-
请复制您的代码here 以便调试,您可以使用示例产品数组代替 axios 调用
-
它在 vue 代码和框中工作,唯一的区别是 axios 调用。 codesandbox.io/s/1v8ov5jr47
-
我也试过用相同的数组替换axios,同样的问题:计算的有数组但数据未定义。