vue.js - 将对象添加到数组时未清理 V-Model (Vue-Js)
问题描述
我正在尝试将对象(简单的键值对)添加到列表中。但是,v-model 仍然绑定到先前添加的对象,所以如果我添加“ObjectOne”和“ValueOne”,然后尝试添加“ObjectTwo”和“ValueTwo”,“ObjectOne”被编辑并且“ObjectTwo”被添加.
我绝不是 Javascript 方面的专家,所以它可能与 VueJS 无关。
我显然可以使用每个列表的方法来完成这项工作。
关键是我的模型有多个要编辑的键值对列表,所以我尝试制作一个通用方法:
addToList: function(value, list){
console.log("Adding " + value + " to list "+list);
list.push(value);
value={};
},
此方法适用于“简单”列表(如字符串数组),但不适用于“对象”列表。
我的猜测是,当我尝试清理“value”而不是“this.value”时,引用仍然指向同一个对象,但是由于我不知道调用时会是什么“value”,所以我不知道这个怎么做。
这是重新创建我的问题的小提琴。
我的目标是能够使用“addToList”函数添加到任何列表,而不必为每个列表重新编写函数。
谢谢您的帮助。
解决方案
上述行为是因为每当您添加新的待办事项时,您都会更新同一对象的值。您需要再次设置对象以添加新值,如下所示。
addToList(value, todos){
this.todos.push(value);
this.anotherTodo={ text:'',
done:'false'}
}
在这里工作小提琴。
推荐阅读
- spring - I was going through a spring boot tutorial on trying to make a sign up and sign in page and now im locked out
- bash - 循环关联数组组
- javascript - Use localstorage to remember dark mode preference
- javascript - Custom no e-mail list
- python - 一个更基本的问题,但为什么我在 python 中的变量没有正确定义?
- r - 自动缩放文本大小
- python - 如何从 3D 数组中提取特定内联数的 2D 数组?
- python - Restconf从端口获取mac,cisco IE3400
- html - 通过 withSuccessHandler 和 onSuccess 在来自 html 输入的请求之间设置一个计时器
- java - 由于 Maven 问题,SUMO 安装失败