不努力code 2023-03-12 15:52 采纳率: 60%
浏览 28
已结题

vue2中,数组下标是一个对象,我改一个属性会更新视图,这是为啥

vue2中,数组下标是一个对象,我改一个属性会更新视图,这是为啥

<html>
   <head>
      <title>VueJs</title>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.min.js">
      </script>
   </head>
   <body>
      <div id = "intro" style = "text-align:center;">
         <h1>{{ message }}</h1>
          <button @click="test" >修改</button>
          <div v-for="(item,index) in arr" :key="index" @click="update(item)"  >
              {{item}}
          </div>
      </div>
      <script type = "text/javascript">
         var vue_det = new Vue({
            el: '#intro',
            data: {
               message: '我的第一个VueJS任务',
                arr:[{name:"one"},{name:"one"},{name:"one"}]
            },
             methods:{
                 test(){
                    let item = this.arr[0]
                    //item = {name:"new"}//这样不会更新
                    item.name='33' //这样会更新
                },
                 update(item){
                 item.name="hehe"
                 }
             }
         });
      </script>
   </body>
</html>


通过你们的建议加上了this,还有一个想问的是,
通过改下标不能更新视图我知道,
哪下标是一个对象,我改一个属性会更新视图,这是为啥
这个地址可以在线运行:在线运行

  • 写回答

4条回答 默认 最新

  • nie-ny 2023-03-12 16:01
    关注

    有没有可能是 arr[0] 需要写成 this.arr[0] 才能获取到对象。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 修改了问题 3月14日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值