我有这个VueJS
代码:
new Vue({
el: '#app',
data: {
model: [
{ name: 'a', price: 1.00 },
{ name: 'b', price: 2.00 },
{ name: 'c', price: 3.00 },
],
actived: {}
},
methods: {
setActive: function(model) {
this.actived = model;
}
}
});
并拥有此HTML代码:
<select v-on:change="setActive(models[n])">
<option v-for="n in 3">{{ n }}</option>
</select>
我想将我的actived数据值更新为所选模型。例如,用户在选择字段上更改第二个opcion,我想将第二个模型的数据传递给actived的值。
有没有办法检测选择的选项索引?也许与jQuery
或其他......?
答案 0 :(得分:3)
您可以在v-model
上使用select
来实现此目标。所选值将传递到active
道具:
new Vue({
el: '#app',
data: {
model: [
{ name: 'a', price: 1.00 },
{ name: 'b', price: 2.00 },
{ name: 'c', price: 3.00 },
],
active: {}
}
});
&#13;
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<select v-model="active"> // v-model
<option :value="n" v-for="n in model">{{ n.name }}</option> // bind value
</select>
<p>{{ active }}</p>
</div>
&#13;
请注意,我们遍历model
数组本身并将元素绑定到value
的{{1}}属性(此值设置为选定的一个,并通过{{传递给option
1}})。