我有一个附加了v-model的输入文本字段,每当有人点击"Add"按钮时,另一个附加了相同v-model的输入文本就会被添加到DOM中。我以为我会得到一个v-model值的数组,但它只得到了第一个v-model输入的值:
<div id="app">
<div id="references">
<input v-model="references" type="text">
</div>
<button @click="addReference">Add</button>
</div>
我附加到dom的html由addReference
方法触发:
addReference: function(e) {
e.preventDefault();
console.log(this.references);
var inputEl = '<input v-model="references" type="text">';
$('#references').append(inputEl);
}
这是Vue.js做不到的吗?有没有一种不同的方法可以用Vue.js从动态dom元素中收集值?
一个一个二个一个一个一个三个一个一个一个一个一个四个一个
3条答案
按热度按时间carvr3hs1#
您正在考虑DOM,这是一个很难打破的习惯,Vue建议您首先使用数据。
在您的具体情况下,这有点难以判断,但我可能会使用
v-for
,并创建一个finds
数组,以便在需要更多时推送。下面是我如何设置示例:
下面是我的模板设置:
尽管如此,我还是会尝试使用
index
以外的东西来代替key
。下面是上面的一个演示:https://jsfiddle.net/crswll/24txy506/9/
eivgtgni2#
如果您询问如何在vue2中执行此操作,并设置插入和删除选项,请查看js fiddle
brc7rcf03#
下面是上面的一个演示:https://jsfiddle.net/sajadweb/mjnyLm0q/11