案例1:通过下标更改数组失败
<template>
<div>
<el-button @click="handlerMe2"> 改变 arr </el-button>
<div> {{ arr }}--arr </div>
</div>
</template>
<script>
export default {
data() {
return {
arr:['11,22',33]
}
},
methods:{
handlerMe2(){
this.arr[0]='改变了' //更改失败
}
}
};
</script>
案例2:通过下标更改数组成功
<template>
<div>
<el-button @click="handlerMe1"> 改变listArr1</el-button>
<div> listArr1-- {{ listArr1}} </div>
</div>
</template>
<script>
export default {
data() {
return {
listArr1:[
{name:'詹飒1', age:19},
{name:'詹飒2', age:119},
],
}
},
methods:{
handlerMe1(){
this.listArr1[0].age='改变了' //更改成功!
},
}
};
</script>
发现问题-解释问题
我们都知道在vue中,通过下标修改数组会更改失败的。
为什么代码 this.listArr1[0].age='改变了' 却更改成功?
而 this.arr[0]='改变了' 更改失败?
原因很简单: this.listArr1[0].age='改变了' 是通过下标更改的是对象而不是数组,因此可以更改成功
而 this.arr[0]='改变了' 这才是通过下标更改的是数组
遇见问题,这是你成长的机会,如果你能够解决,这就是收获。
作者:晚来南风晚相识