例如下面2个consle 为什么在还没有改变原始数据的时候已经能够提前获取到数据?
<script>
export default {
data(){
return {
arr : []
}
},
mounted() {
console.log(this.arr)
this.arr.push("123")
console.log(this.arr) //打印出 ["123"]
}
}
</script>
你点哪个小蓝图标,会出现:Value below was evaluated just now。没展开的值,是不同的,展开后值全是一样的。其原因是在Chrome Console.log()点击展开数组时,会重新去读一遍内存真实的值然后显示,所以展开后都是最终值。
因此,在打印二维数组时,其实如若不展开,他显示的就是当前值,但是点击展开后,会重新去内存读值,所以展开的值,全是最终值,所以看到所有二维数组打印的都是一个值的情况。
解决方法:1、打印之前克隆对象 2.
Json.Stringify
转换成字符串