问题描述
今天在写数据处理时,需要实现把对象追加到数组中的效果,数据格式为
预约时间:3月1日/预约时段: 晚上/服务: 精洗/宿舍号: 海安/电话: 15816895886
预期的实现效果如下,
包含多个对象的数组
但实际实现效果如下,
对象为空值
代码复现
错误归因
一、输入结果变成空值
为什么输入的对象变成了空值?经过一番排错,我发现了是this的问题
我尝试去掉order前的this,发现输出的值正确,因此把两段代码输出对比一下
this.order中确实为没有输入的值,而当console(order)时,是我想要的结果
为什么this.order中不包含输入的数据?
由于初学前端,对于vue的原理还不是很深刻,先浅浅记录一下,相信后面会有更加深刻的理解
二、输出值为数字
在排错的时候写了其它代码测试,发现出现返回值为数字的情况,引用一下其他博主的回答:
js中push后变成了数字
一个数组如果你push是直接赋值的形式,会发现变成数字,其实是数组的长度,因为push的返回值是数组长度
例如:let arr1=["lufei"] let arr2=arr1.push("suolong") console.log(arr2)//输出的是2 //解决方案就是 let arr1=["lufei"] arr1.push("suolong") let arr2=arr1
作者:1f63b149cea0
链接:https://www.jianshu.com/p/c521bd2dc2b3