Vue.js 如何组合v-for和v-model来编辑对象列表?
我想编辑使用Vue.js的用户列表。每个用户都有一个姓名和年龄。似乎Vue.js 如何组合v-for和v-model来编辑对象列表?,vue.js,Vue.js,我想编辑使用Vue.js的用户列表。每个用户都有一个姓名和年龄。似乎v-for是处理列表的正确指令,v-model是将输入的内容绑定到列表中特定元素的正确指令 所以我试着这样实现它: newvue({ el:'练习', 数据:{ 用户:[{ 姓名:“马丁”, 年龄:32 }] }, 方法:{ 添加用户:函数(){ 这个是.users.push({ 姓名:“, 年龄:“ }); } } }); + 原因是和当您单击按钮时,它会自动执行请求,因此其刷新或消失,因为它无法尝试使用或使用 +//解
v-for
是处理列表的正确指令,v-model
是将输入的内容绑定到列表中特定元素的正确指令
所以我试着这样实现它:
newvue({
el:'练习',
数据:{
用户:[{
姓名:“马丁”,
年龄:32
}]
},
方法:{
添加用户:函数(){
这个是.users.push({
姓名:“,
年龄:“
});
}
}
});代码>
+
原因是
和
当您单击按钮时,它会自动执行请求,因此其刷新或消失,因为它无法尝试使用
或使用
+//解决方案
+//另一个解决方案
按钮正在提交表单,添加。阻止停止操作:
newvue({
el:'练习',
数据:{
用户:[{
姓名:“马丁”,
年龄:32
}]
},
方法:{
添加用户(){
this.users=[…this.users{
姓名:“,
年龄:“
}]
}
}
});代码>
+
您需要设置按钮的类型,因为它位于一个表单中,它会回退到submit按钮
此外,定义:键有助于vue区分v-for上一行与另一行之间的差异
newvue({
el:'练习',
数据:{
用户:[{
id:new Date().getTime(),
姓名:“马丁”,
年龄:32
}]
},
方法:{
添加用户:函数(){
这个是.users.push({
id:new Date().getTime(),
姓名:“,
年龄:“
});
}
}
});代码>
+
True,但更好的解决方案是将type=“button”
添加到
元素,因为从语义上讲,它不是链接,所以请使用@click。防止+
在语义上更正确。使用.prevent
时,代码会显示“这是一个提交按钮(默认设置),但不提交任何内容。”对于特定类型,代码不会假装它是一个提交按钮。
<div id="exercise">
<form id="list">
<div></div>
<div v-for="user in users">
<input v-model="user.name">
<input v-model="user.age">
<a @click="add_user">+</a> //solution
<button @click.prevent="add_user">+</button> //another solution
</div>
</form>
</div>