vue指令:v-model綁定表單控件;v-model與v-bind結合使用


 一、v-model綁定表單控件

v-model 雙向數據綁定;一般用於表單元素,會忽略表單元素的value、checked、selected的初始值,且將Vue實例的數據作為數據來源。

1. 單行文本框 input[type="text"] 、多行文本框 textarea

  v-model值綁定到value屬性;

 1 <body>  2 <div id="app">  3 <input type="text" v-model="username" value="我是初始值,但是我被忽略了"><br/>  4 <textarea v-model="schoolname" value="我是初始學校:北大青鳥"></textarea><br/>  5 </div>  6 <script src="./vue.js"></script>  7 <script>  8 var vm = new Vue({  9 el:'#app', 10  data:{ 11   username:'小鳴', 12   schoolname:'XX科技大學' 13  } 14  }) 15 </script> 16 </body>

運行圖:

2. 單選框 input[type="radio"]

   v-model 值綁定到 value屬性;

 1 <body>
 2    <div id="app" style="padding-left:10px;">
 3       <input type="radio" name="fruit" value="apple" v-model="radioValue">apple
 4       <input type="radio" name="fruit" value="pear" v-model="radioValue">pear
 5       <input type="radio" name="fruit" value="banana" v-model="radioValue">banana
 6       <p>radioValue: {{radioValue}}</p>
 7    </div>
 8    <script src="./vue.js"></script>
 9    <script>
10       var vm = new Vue({
11          el:'#app',
12          data:{
13             radioValue:'pear',
14          }
15       })
16    </script>
17 </body>

運行圖: 

3. 多選框 input[type="checkbox"]

  •    單個復選框

      v-model 值為布爾值(true、false),綁定到 checked屬性;

 1 <body>
 2    <div id="app" style="padding-left:10px;">
 3       <input type="checkbox" v-model="checkValue"><br/>
 4       <p>checkValue: {{checkValue}}</p>
 5    </div>
 6    <script src="./vue.js"></script>
 7    <script>
 8       var vm = new Vue({
 9          el:'#app',
10          data:{
11             checkValue:true
12          }
13       })
14    </script>
15 </body>

運行圖:  

  •      多個復選框

      v-model 值為數組,綁定到 value屬性(checkbox的vulue屬性值必須要有)

 1 <body>
 2    <div id="app" style="padding-left:10px;">
 3       <input type="checkbox" v-model="moreCheck" value="box1">box1
 4       <input type="checkbox" v-model="moreCheck" value="box2">box2
 5       <input type="checkbox" v-model="moreCheck" value="box3">box3
 6       <p>moreCheck: {{moreCheck}}</p>
 7    </div>
 8    <script src="./vue.js"></script>
 9    <script>
10       var vm = new Vue({
11          el:'#app',
12          data:{
13             moreCheck:['box2','box3']
14          }
15       })
16    </script>
17 </body>

 運行圖: 

 

二、v-model與v-bind結合使用

  v-bind綁定屬性,例如 v-bind:class="className",縮寫為 :class="className";

 1 //結合v-bind和v-model,實現效果:修改select選中值,從而給div綁定不同的類名,進而改變div的字體顏色;
 2 <style>
 3   .blue{color:blue;}
 4   .red{color:red;}
 5   .green{color:green;}
 6 </style>
 7 <body>
 8    <div id="app">
 9       <div :class="selectValue">這是一行會變色的字</div>
10       <select v-model="selectValue">
11          <option value="blue">blue</option>
12          <option value="red">red</option>
13          <option value="green">green</option>
14       </select>
15    </div>
16    <script src="./vue.js"></script>
17    <script>
18       var vm = new Vue({
19          el:'#app',
20          data:{
21             selectValue:'red' 
22          }
23       })
24    </script>
25 </body>

 

 運行圖: 

 


免責聲明!

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



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