vue2、vue3基于js给后端接口返回的数据(如以json数据为元素的数组)添加新的json字段

vue2、vue3基于js给后端接口返回的数据(如以json数据为元素的数组)添加新的json字段

1、 res为后端接口的响应

res.data.data.list = [
	{
		id:"1",
		name:"Lily"
	},
	{
		id:"2",
		name:"Lucy"
	},
]

2、 获取后端接口返回的数据

this.tableData = res.data.data.list;

3、 vue2 向数组中添加一个元素,在{}对象中添加一个字段(属性)

1. vue2 向 tableData 添加字段

1.1. 向 tableData 中添加一个新json元素( {“time”, “2023-02-09”} )
this.$set(this.tableData,'time','2023-02-09')
1.2. tableData 添加新元素后 tableData 的值
this.tableData = [
	{
		id:"1",
		name:"Lily"
	},
	{
		id:"2",
		name:"Lucy"
	},
	{
		time: "2023-02-09",
	},
]

2. vue2 向 tableData 的元素添加字段

2.1. 向 tableData 中的每个元素添加一个新json元素( {“age”, “20”+i} )
for(let i=0; i<this.tableData.length; i++) {
	this.$set(this.tableData[i],'age','20'+i)
}
2.2. 向 tableData 中的每个元素添加一个新json元素后tableData 的数据
this.tableData = [
	{
		id:"1",
		name:"Lily",
		age:"21"
	},
	{
		id:"2",
		name:"Lucy",
		age:"22"
	},
	{
		time: "2023-02-09",
		age:"23"
	},
]

4、 vue3 向数组中添加一个元素,在{}对象中添加一个字段(属性)

1. vue3 向 tableData 添加字段

1.1. 向 tableData 中添加一个新json元素( {“time”, “2023-02-09”} )
// 添加
// 在数组的索引位置1的前面(即索引位置0的后面)添加一个元素
this.tableData.value.splice(1, 0, {"time", "2023-02-09"});

// 替换:
// 将数组的索引2位置的元素替换为 {"phone", "12345678901"}
this.tableData.value.splice(2, 1, {"phone", "12345678901"});
1.2. tableData 添加新元素和替换元素后 tableData 的值
this.tableData = [
	{
		id:"1",
		name:"Lily"
	},
	{
		time: "2023-02-09",
	},
	{
		phone: "12345678901",
	},
]

2. vue3 向 tableData 的元素添加字段

2.1. 向 tableData 中的每个元素添加一个新json元素( {“age”, “20”+i} )
for(let i=0; i<this.tableData.length; i++) {
	this.tableData[i].age = "20"+i;
}
2.2. 向 tableData 中的每个元素添加一个新json元素后tableData 的数据
this.tableData = [
	{
		id:"1",
		name:"Lily",
		age:"21"
	},
	{
		time: "2023-02-09",,
		age:"21"
	},
	{
		phone: "12345678901",,
		age:"21"
	},
]

学习:Web 开发技术

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Vue 中,当你使用 `console.log` 来打印后端返回数据时,如果数据是一个对象,那么它会被输出为 `object`。这是因为 JavaScript 的 `console.log` 函数在输出对象时,会将对象的类型(在这种情况下是 `object`)输出到控制台。 如果你希望查看对象中包含的具体内容,你可以使用下面的方法之一: - 在控制台中将对象展开,例如 `console.log(obj)` - 使用 `JSON.stringify` 将对象转换为字符串,例如 `console.log(JSON.stringify(obj))` 例如,如果你的后端返回数据是一个对象,你可以这样打印出来: ``` axios.get('/api/user').then(response => { console.log(response.data) // 输出到控制台的是 "object" console.log(JSON.stringify(response.data)) // 输出对象的内容 }) ``` ### 回答2: 在Vue中,打印后端返回数据是Object的原因有以下几点: 1. 后端返回数据通常是以JSON格式传输,而JSON是一种轻量级的数据交换格式,用于前后端数据的传递和解析。在JavaScript中,JSON数据会被解析成Object对象,因此在Vue中打印后端返回数据时,会以Object形式显示。 2. Vue中的数据绑定机制是基于对象的,通过将后端返回数据绑定到Vue的data属性上,可以实现视图和数据的双向绑定。而Object是JavaScript中最常用的数据结构之一,具有键值对的特性,非常适合在Vue中进行数据绑定和操作。 3. 使用Object对象可以方便地对后端返回数据进行操作和访问。通过Object的属性和方法,我们可以迅速地访问数据的特定字段,对数据进行遍历、过滤、排序等操作,满足不同的业务需求。 4. Object对象在Vue的组件通信中起到了重要的作用。在Vue中,我们可以通过props和$emit等方式实现父子组件之间的数据传递和通信。而通过使用Object对象,可以将后端返回数据以属性的形式传递给子组件,提高组件的复用性和灵活性。 综上所述,Vue中打印后端返回数据为Object的原因是由于JSON数据格式的传输和解析,数据绑定的需要,数据的操作和访问的便捷性,以及组件通信的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值