在数组VueJS中显示对象

时间:2018-10-26 12:23:45

标签: javascript vue.js vuejs2

所以我使用的JSON对象看起来像这样:

data: [
  {
    title: "Post Title One",
    categories: {
      data: [
        {
          id: 1,
          name: "Category Name 1"
        }
      ]
    }
  },
  {
    title: "Post Title Two",
    categories: {
      data: [
        {
          id: 2,
          name: "Category Name 1"
        },
        {
          id: 3,
          name: "Category Name 2"
        }
      ]
    }
  }
]

,我想获取每个帖子的所有类别并使用Vue显示它们。所以我目前有:

<div v-for="post in posts">
   <div>{{ post.categories.data }}</div>
</div>

在那个{{ post.categories.data }}中,我试图显示JSON对象中的类别名称。当我使用上面的内容时,整个数组将显示在div中。当我尝试做类似

的操作时
{{ post.categories.data.name }} 

{{ post.categories.data[0].name }}

我没有显示类别名称。我真的很想显示帖子具有的每个类别的名称,但似乎无法使其正确显示。

编辑:同时发布的是我在VueJS中使用的数据属性,并将JSON对象设置为该属性。

1 个答案:

答案 0 :(得分:1)

您应该将map方法与解构结合使用。

<div v-for="post in posts">
    <div>{{ post.categories.data.map(({name}) => name).join(' ') }}</div>
</div>