我在复选框上有一个 v-model,它的值是从循环中分配的。我希望点击事件调用一个我需要访问已检查数据的函数。当点击被触发时,如果我记录状态,它不会打印复选框的当前点击数据。它打印先前单击的复选框数据。是否必须在函数中传递事件并访问数据?
<div id="demo">
<ul>
<li v-for="mainCat in mainCategories">
<input
type="checkbox"
:value="mainCat.merchantId"
id="mainCat.merchantId"
v-model="checkedCategories"
@click="check(checkedCategories)"
>
{{mainCat.merchantId}}
</li>
</ul>
{{ checkedCategories }}
</div>
脚本:
var demo = new Vue({
el: '#demo',
data: {
checkedCategories: [],
mainCategories: [{
merchantId: '1'
}, {
merchantId: '2'
}] //testing with data use: [{done:false,content:'testing'}]
},
methods: {
check: function(e) {
console.log(this.checkedCategories,e)
}
}
})
Js小提琴:http: //jsfiddle.net/bmpfs2w2/
原文由 phantom 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
@change
代替@click
。在值真正改变之前触发点击事件。http://jsfiddle.net/eLzavj5f/