Javascript 将项目作为vuejs中的模型进行阵列

Javascript 将项目作为vuejs中的模型进行阵列,javascript,vue.js,Javascript,Vue.js,我想提供一个表单(在vuejs中),在填写前一个表单时添加新的输入。应移除清除的输入。至少必须有一个输入。到目前为止一切都很好,这是在 问题 创建3个项目,在第一个输入中输入a,在第二个输入中输入b,在第三个输入中输入c。现在删除b文本。物品c也不见了。知道为什么吗?日志函数显示c位于数组的索引1处,因此它应该在那里,但vue不会呈现该项。我认为您的第三个项,即第三个输入,与第二个项有依赖关系。您应该在循环外部拆分数据集,并用另一种方法处理删除的项。您可以在同一个数据集中循环,因此,如果您修改它

我想提供一个表单(在vuejs中),在填写前一个表单时添加新的输入。应移除清除的输入。至少必须有一个输入。到目前为止一切都很好,这是在

问题
创建3个项目,在第一个输入中输入
a
,在第二个输入中输入
b
,在第三个输入中输入
c
。现在删除
b
文本。物品
c
也不见了。知道为什么吗?日志函数显示
c
位于数组的索引1处,因此它应该在那里,但vue不会呈现该项。

我认为您的第三个项,即第三个输入,与第二个项有依赖关系。您应该在循环外部拆分数据集,并用另一种方法处理删除的项。您可以在同一个数据集中循环,因此,如果您修改它,它将显示一个区域。通过向外部数据集中添加/删除项,可以删除依赖项

免责声明:我不知道问题中描述的bug为什么会出现。这可能是造成这种情况的原因。如果您知道这种行为的原因,请与我们分享

您是对的,
此列表正在正确更新。您可以通过注销输入字段旁边的名称来查看:

var demo=新的Vue({
el:'演示',
数据:{
项目:[]
},
方法:{
“管理”:功能(旧、新){
var i=this.items.length;
而(我--){
如果(!this.items[i]['name']){
此.items.$remove(此.items[i]);
}
}
}
},
观察:{
“项目”:{
处理程序:“管理”,
深:是的
}
}
});

{{items[n]['name']}

要删除项目,您应该在阵列上使用splice,这样在不减小大小的情况下,您可以删除特定项目。使用
v-for
在某个范围内迭代可能会导致。