vue基礎知識之checkbox使用 v-model區別


  首先簡單說一下v-bind與v-model的區別:v-bind是單向的,數據驅動視圖;v-model是雙向綁定的 數據與視圖相互影響。

  下面介紹checkbox中v-model的使用,大體有兩種情況,

   一、v-model對應的data屬性是數組時,返回的是checkbox的value值

  二、v-model對應的data屬性是Boolean時,返回的是checkbox的checked的boolean值

下面是代碼舉例,直接運行即可,當然代碼后半段額外加上了app開發框架vant中的checkbox的情況,那個可以自己研究了。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width,initial-scale=1.0,
 7         minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
 8     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 9     <title>Document</title>
10 
11     <!-- 引入樣式 -->
12     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.0/lib/index.css">
13 
14     <!-- 引入組件 -->
15     <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
16     <script src="https://cdn.jsdelivr.net/npm/vant@2.0/lib/vant.min.js"></script>
17 </head>
18 
19 <body>
20     <div id="app">
21 
22         <h4 style="color:red;">radio--v-model的使用,只有一種請空,都返回value值,本次不舉例</h4>
23         <h1>checkbox--v-model的使用,兩種情況</h1>
24         <h3>1,v-model對應的是數組時,返回的是checkbox的value值</h3>
25         <p style="color:red;font-size:14px">checkbox是通過value值區分的,如果value值相同,選中其中一個,另一個也被選中</p>
26         <input type="checkbox" v-model="testarr" value="測試多選1-value">測試多選1
27         <input type="checkbox" v-model="testarr" value="測試多選2-value">測試多選2
28         <input type="checkbox" v-model="testarr" value="測試多選3-value">測試多選3
29         <p>v-model的值是:{{testarr}}</p>
30         <h3>1,v-model對應的是Boolean時,返回的是checkbox的checked的boolean值</h3>
31         <p style="color:red;font-size:14px">checkbox是通過value值區分的,如果value值相同,選中其中一個,另一個也被選中</p>
32         <input type="checkbox" v-model="testarr1" value="測試多選4-value">測試多選4
33         <input type="checkbox" v-model="testarr1" value="測試多選5-value">測試多選5
34         <input type="checkbox" v-model="testarr1" value="測試多選6-value">測試多選6
35         <p>v-model的值是:{{testarr1}}</p>
36 
37         <hr>
38         <h1>PS:測試vant的 checkbox</h1>
39         <h4>---單個checkbox</h4>
40         <van-checkbox shape="square" v-model="checked">復選框boolean類型model</van-checkbox>
41         <van-cell-group>
42             <van-field label="你選擇的是:" v-model="checked" />
43         </van-cell-group>
44         <h4>---多個checkbox</h4>
45         <van-checkbox-group v-model="result">
46             <van-checkbox v-for="(item, index) in list" :key="item" :name="item">
47                 復選框 {{ item }}
48             </van-checkbox>
49         </van-checkbox-group>
50         <van-cell-group>
51             <van-field label="你選擇的是:" v-model="result" />
52         </van-cell-group>
53     </div>
54 
55     <script>
56         //var vant = window.vant;
57 
58         var app = new Vue({
59             el: "#app",
60             data() {
61                 return {
62                     testarr: [],
63                     testarr1: true,
64                     /*--vant data test--*/
65                     checked: true,
66                     list: ['a', 'b', 'c'],
67                     result: ['a', 'b']
68                 }
69             }
70         })
71 
72         // 注冊組件
73         Vue.use(vant);
74 
75     </script>
76 </body>
77 
78 </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM