我在复选框上有一个 v 模型,其值是从循环分配的。
我希望单击事件调用一个函数,我需要在其中访问已选中的数据。当单击被触发时,如果我记录状态,它不会打印复选框的当前单击数据。它打印先前单击的复选框数据。是否必须在函数中传递事件并访问数据?
<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>
script:
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)
}
}
})
杰斯小提琴:http://jsfiddle.net/bmpfs2w2/ http://jsfiddle.net/bmpfs2w2/
Use @change
代替@click
。 Click 事件在值真正改变之前触发。
<input type="checkbox"
:value="mainCat.merchantId"
id="mainCat.merchantId"
v-model="checkedCategories"
@change="check($event)"
>
http://jsfiddle.net/eLzavj5f/ http://jsfiddle.net/eLzavj5f/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)