【发布时间】:2020-07-03 04:58:12
【问题描述】:
我有 Vue 单文件组件,它显示产品的详细信息(无论如何它都意味着)。我所有的数据似乎都可以从 Vuex 商店加载。这是我的Product.vue 页面:
<template>
<div class="page-content">
{{Product}} <!-- this works and shows JSON on the page -->
{{Product.ProductTitle}} <!-- this shows nothing at all -->
</div>
</template>
<script>
import {mapGetters} from 'vuex';
export default {
name: "Product",
computed:
{
...mapGetters({
Product: 'getProduct',
})
},
serverPrefetch() {
return this.getProduct();
},
mounted() {
if (!this.Product.length) {
this.getProduct();
}
},
methods: {
getProduct() {
return this.$store.dispatch('loadProduct', {ProductID: this.$route.params.ProductID})
}
}
}
</script>
计算出的Product 变量中的数据就是这样的:
[ { "ProductID": 12552, "ProductTypeID": 1, "ProductStatusID": 3, "ProductTitle": "Sony PlayStation 4 Pro" }]
我无法理解为什么{{Product}} 会显示整个 JSON 对象,而 {{Product.ProductTitle}} 却什么也没有显示?
【问题讨论】:
-
在您的小提琴示例中,
product变量是一个列表列表。如果你这样做{{Product[0][0].ProductTitle}}它可以工作。 -
@drec4s 列表列表是什么意思?好像是从数据库里出来的样子
-
变量声明后有双括号。
标签: json vue.js vuejs2 vue-component