vue中ckeckbox(复选框)的使用心得,及对click事件和change的理解
通过点击事件判断复选框状态,v-model来绑定checkbox的值,更改文本及css样式,
<div>
<input type="checkbox" name="" @change="changeBtn" v-model="checkVal">
<input type="checkbox" name="" @click="clickBtn" v-model="checkVal">
</div>
<script>
data(){
return{
ckAll:false
}
},
methods:{
clickBtn(){
console.log(ckAll)//--->false
//click事件的触发是在点击的那一刻,而change事件是在状态改变之后触发。
//仔细阅读这句话之后,我们发现一个关键词是:触发时,也就是说上面代码中click的执行时间为点击的那 一瞬间,而不是点击之后。而点击的那一瞬间复选框的值也确实是`false,这也就解释了为什么我们得到的结果为false。
},
changeBtn(){//明白这一点之后我们将@click换成@change,点击复选框之后将会得到true
console.log(ckAll)//--->true
},
}
</script>
@click:可以用v-on指令监听click事件,并在触发时运行console.log(that.ckeckVal);
change:可以用v-on指令监听change事件,并在状态改变后运行console.log(that.ckeckVal);