vue踩坑记录01 使用v-model绑定输入框中的对象数据,在push到新数组中时,后面的值覆盖掉前面的值

代码示例

<input type="text" v-model="aa.Remark" placeholder="请输入备注"/>

.js中

data:{

  aa:{

    Remark:''

  },

  bb:[]

}

在这种情况下,当进行 bb.push(aa) 时,后面获取的元素会覆盖掉前面的元素

原因是 model 绑定的是对象属性,而数组是引用传递而不是值传递,因此每次传值时都是传过了同一个内存地址

解决方法

将 model 换成绑定一个变量即可

<input type="text" v-model="Remark" placeholder="请输入备注"/>

.js中

data:{

  Remark:'',

  bb:[]

}

posted @ 2020-11-16 16:37  犹枕南柯  阅读(1898)  评论(0)    收藏  举报