当前位置: 首页 > 知识库问答 >
问题:

使用Vue.js只返回数组中的一些对象字段

丰俊艾
2023-03-14

所以我从 api 请求中将这些对象放在数组中

(5) [{…}, {…}, {…}, {…}, {…}]
0: {ID: 1, Title: "dqdq", Description: "dqdq", IdUser: 3}
1: {ID: 2, Title: "dqdq", Description: "dqdq", IdUser: 3}
2: {ID: 3, Title: "dqdqddd", Description: "dqdq", IdUser: 3}
3: {ID: 4, Title: "dqdqddd", Description: "dqdq", IdUser: 3}
4: {ID: 5, Title: "dqdqddd", Description: "dqdq", IdUser: 3}
length: 5

我需要的只是标题,这样我就可以在一个div中循环它,并把它传递给子组件,这样我就可以在html部分中循环它

<template>
<div>
<Navbar />
<gamesIdeaList :games="games" />
</div>

</template>

<script>
// @ is an alias to /src
import Navbar from '@/components/Navbar.vue'
import gamesIdeaList from '@/components/gamesIdeaList.vue'
import axios from 'axios'
export default {
  name: 'home',
  components: {
    Navbar,
    gamesIdeaList
  },
  data() {
      return {
          games:[]
      }
  },
  //  props: info,
   mounted () {
    axios.get('http://localhost:3001/GamesIdea', {
        headers: { Authorization: `Bearer ${localStorage.usertoken}` }
      })
      .then(res => {
 this.games = res.data.data

console.log(arr)
      })
      .catch(error => {
        console.log(error)
        this.errored = true
      })
}
}
</script>

共有3个答案

漆雕升
2023-03-14

尝试使用map数组函数,如下所示:

 this.games = res.data.data.map(d=>{Title: d.Title,Description:d.Description}); 
太叔鸿
2023-03-14

你也可以试试这个。

<div>
<Navbar />
<gamesIdeaList :games="games" />
</div>

</template>

<script>
// @ is an alias to /src
import Navbar from '@/components/Navbar.vue'
import gamesIdeaList from '@/components/gamesIdeaList.vue'
import axios from 'axios'
export default {
  name: 'home',
  components: {
    Navbar,
    gamesIdeaList
  },
  data() {
      return {
          games:[]
      }
  },
  //  props: info,
   mounted () {
    axios.get('http://localhost:3001/GamesIdea', {
        headers: { Authorization: `Bearer ${localStorage.usertoken}` }
      })
      .then(res => {
 this.games = res.data.map(val => {
return {
Title: val.Title,
Description:val.Description}
})

console.log(arr)
      })
      .catch(error => {
        console.log(error)
        this.errored = true
      })
}
}
</script>```
傅安宁
2023-03-14

是的,可以添加您不想要的字段作为回报

解决方案 1

this.games = res.data.data.map(({
    ID,
    IdUser,
    ...rest
}) => rest);
var v1 = [
{ID: 1, Title: "dqdq", Description: "dqdq", IdUser: 3},
{ID: 2, Title: "dqdq", Description: "dqdq", IdUser: 3},
{ID: 3, Title: "dqdqddd", Description: "dqdq", IdUser: 3},
{ID: 4, Title: "dqdqddd", Description: "dqdq", IdUser: 3},
{ID: 5, Title: "dqdqddd", Description: "dqdq", IdUser: 3}]

var games = v1.map(({
    ID,
    IdUser, ...rest}) => rest);

console.log(games);
 类似资料:
  • 我对Android的JSON有问题。由于某种原因,当我使用JSONObject接收到一些数据时。getInt方法返回一些空数据。并不是我接收到的所有数据都返回null,似乎只有返回null的数据类型是整数,我还有其他整数数据,它们接收到的数据很好,没有任何null。它似乎只与3个整数变量一致。我在某个地方读到过这篇文章,认为它是一个bug,但我不确定这是不是真的。顺便说一句,我用的是Android

  • 问题内容: 如何使angularjs $ resource返回从指定域对象派生/原型化的对象数组? 这是http://plnkr.co/edit/AVLQItPIfoLwsgDzoBdK?p=preview上的示例,该示例处理一组s对象。 问题是$ resource返回s的数组,而不是将方法添加到原型的s 数组。 [解决方案应遵循“好的” javascript做法] 问题答案: 这是完整的 矮人

  • 如果我有一个物体 并创建这些对象的数组 有没有一种方法可以让我只检索数组中所有对象的一个属性?例如: 上面的示例没有将set keyArray返回给任何东西,但我希望它可以设置成如下所示: 有没有人知道这样做的方法,而不需要遍历objArray并手动将每个键属性复制到键数组?

  • 在这个可爱的星期一早上,我可能没有喝足够的咖啡,但有件简单的事我想做,但我不想做。 我在一组对象上筛选id: 如果存在匹配项,则返回长度为1的数组。我有以下几行: 我希望不必检查数组的第一个元素,而是只返回调用过滤器的对象,而不是数组中的对象。 为了更加清楚,skuVariant返回以下内容: 我希望它返回这个: 使用lodash utils是可能的,但这太过分了。我想买香草的。 有没有ES7、E

  • 嗨,对不起,初学者,这里,我不擅长解释的东西很好,但我想知道我如何返回一个数组的第一个book对象? 下面是我的代码: 当我在BlueJ编译器上测试此代码时,它返回作者的标题,而不是对象的第一个实例,该对象具有。 下面是我需要使用的方法: 返回使用此名字的作者编写的第一个对象

  • 我有一组这样的对象: 我想对其进行过滤,以便每个唯一名称都有一个实例,该实例必须给出小于或等于40的最大值。如果过滤,上述情况将返回: 最终的数组不必按任何特定的顺序排序。