vue关于通过下标更改数组的理解

简介: vue关于通过下标更改数组的理解

案例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]='改变了' 这才是通过下标更改的是数组

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关文章
|
JavaScript 索引
Vue中对象或数组数据更新但视图不刷新问题的解决策略
Vue中对象或数组数据更新但视图不刷新问题的解决策略
1719 0
|
JavaScript 索引
Vue 3 数组变更详解:哪些操作会修改原数组?| 笔记
在处理数组时,了解哪些操作会修改原数组,哪些操作不会修改原数组,对高效编写 Vue 应用程序至关重要。本文将详细介绍 Vue 3 中的常见数组操作,并按照是否会修改原数组进行分类说明。
959 2
Base64如何切割后面的内容,如何提取data:image/png;base64,之后的内容,Vue中.split中截取的数组如何使用数组进行获取
Base64如何切割后面的内容,如何提取data:image/png;base64,之后的内容,Vue中.split中截取的数组如何使用数组进行获取
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
|
JavaScript
vue 渲染树型数据(含树型数据转化为一维数组的方法,包括每个节点的深度和深度列表)
vue 渲染树型数据(含树型数据转化为一维数组的方法,包括每个节点的深度和深度列表)
316 0
|
JavaScript 索引
Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素
【6月更文挑战第25天】Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素。基本语法是`v-for=&quot;(item, index) in items&quot;`,支持遍历对象的键值对。注意与`v-if`同用时应使用`&lt;template&gt;`,组件上使用`v-for`需设`key`属性以优化性能。
385 2
|
JavaScript
通过使用online表单的获取使用,了解vue.js数组的常用操作
通过使用online表单的获取使用,了解vue.js数组的常用操作
213 0
|
JavaScript 前端开发 API
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
721 2
|
JavaScript 前端开发
vue绑定数组
vue绑定数组