浅谈vue中关于checkbox数据绑定v-model指令的个人理解

2020-06-14 06:17:34易采站长站整理

vue.js为开发者提供了很多便利的指令,其中v-model用于表单的数据绑定很常见,

下面是最常见的例子:


<div id='myApp'>
<input type="text" v-model="msg"><br>
{{msg}}
</div>

js里data初始化数据


<script src="./js/vue.js"></script>
    <script type="text/javascript">
        new Vue({
            el: "#myApp",
            data() {
                return {
                    msg:'hello'
                }
            },

浏览器渲染:

    

上面可知,v-model对应的数据为input的value属性

但是如果是checkbox,会有一点问题


<div id='myApp'>
<input type="checkbox" v-model="msg"><br>
{{msg}}
</div>

没有给checkbox设置value属性

js中data为”:


new Vue({
el: "#myApp",
data() {
return {
msg:''
}
},

浏览器渲染:

          

勾选为true,取消勾选为false    

且data中msg如果初始化为true,则checkbox默认选中          

到这里让人会有在checkbox里,v-model对应的值为true或false,似乎和checked属性有关

是不是这样呢,我们再来看一个例子:


<div id='myApp'>
   <input type="checkbox" v-model="msg" value="angular">angular<br>
   <input type="checkbox" v-model="msg" value="react">react<br>
   <input type="checkbox" v-model="msg" value="vue">vue<br>
   {{msg}}
 </div>

我们设置三个checkbox,分别设置value属性

js中依然


new Vue({
el: "#myApp",
data() {
return {
msg:''
}
},

浏览器: