gpt4 book ai didi

javascript - 在 v-for 循环中使用 v-model

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:42 25 4
gpt4 key购买 nike

我在 v-for 循环中渲染一个输入字段,并在该输入中使用 v-model 来获取输入的值,但是当我输入任何一个输入时,每个文本字段中都会输入该值。

我已在此 fiddle 中复制了我的问题

<div id="app">
<h2>Todos:</h2>
<ol>
<li v-for="todo in todos">
<label>
<input type="text" v-model="score">

<del v-if="todo.done">
{{ todo.text }}
</del>
<span v-else>
{{ todo.text }}
</span>
</label>
</li>
</ol>
</div>

new Vue({
el: "#app",
data: {
score: [],
todos: [
{ text: "Learn JavaScript", done: false },
{ text: "Learn Vue", done: false },
{ text: "Play around in JSFiddle", done: true },
{ text: "Build something awesome", done: true }
]
},
})

最佳答案

是的,显然会发生这种情况,因为您将 X 输入字段绑定(bind)到 1 个值。你可能想要的是将你的 score[] 作为数组放入,用于此目的

new Vue({
el: "#app",
data: {
score: [],
todos: [
{ text: "Learn JavaScript", done: false },
{ text: "Learn Vue", done: false },
{ text: "Play around in JSFiddle", done: true },
{ text: "Build something awesome", done: true }
]
},
})
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}

#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}

li {
margin: 8px 0;
}

h2 {
font-weight: bold;
margin-bottom: 15px;
}

del {
color: rgba(0, 0, 0, 0.3);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
<h2>Todos:</h2>
<ol>
<li v-for="(todo,index) in todos">
<label>
<input type="text" v-model="score[index]">

<del v-if="todo.done">
{{ todo.text }}
</del>
<span v-else>
{{ todo.text }}
</span>
</label>
</li>
</ol>
</div>

https://jsfiddle.net/o9awn47v/

关于javascript - 在 v-for 循环中使用 v-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com