這次為大家帶來怎樣使用Vue.js表單控件,使用Vue.js表單控件的注意事項有哪些,下面就是實戰案例,一起來看一下。
v-model指令:在表單控制項元素上建立雙向資料綁定。 v-model 會根據控制項類型自動選取正確的方法來更新元素。
#實例中示範了input 和textarea 元素中使用v-model 實作雙向資料綁定:
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <p>input 元素:</p> <input v-model="message" placeholder="编辑我……"> <p>消息是: {{ message }}</p> <p>textarea 元素:</p> <p style="white-space: pre">{{ message2 }}</p> <textarea v-model="message2" placeholder="多行文本输入……"></textarea> </p> <script> new Vue({ el: '#app', data: { message: 'Runoob', message2: 'PHP ' } }) </script> </body> </html>
效果如圖:
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <p>单个复选框:</p> <input type="checkbox" id="checkbox" v-model="checked"> <label for="checkbox">{{ checked }}</label> <p>多个复选框:</p> <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames"> <label for="runoob">Runoob</label> <input type="checkbox" id="google" value="Google" v-model="checkedNames"> <label for="google">Google</label> <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames"> <label for="taobao">taobao</label> <br> <span>选择的值为: {{ checkedNames }}</span> </p> <script> new Vue({ el: '#app', data: { checked : false, checkedNames: [] } }) </script> </body> </html>
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 </title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <input type="radio" id="runoob" value="Runoob" v-model="picked"> <label for="runoob">Runoob</label> <br> <input type="radio" id="google" value="Google" v-model="picked"> <label for="google">Google</label> <br> <span>选中值为: {{ picked }}</span> </p> <script> new Vue({ el: '#app', data: { picked : 'Runoob' } }) </script> </body> </html>
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 </title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <p id="app"> <select v-model="selected" name="fruit"> <option value="">选择一个网站</option> <option value="www.runoob.com">Runoob</option> <option value="www.google.com">Google</option> </select> <p id="output"> 选择的网站是: {{selected}} </p> </p> <script> new Vue({ el: '#app', data: { selected: '' } }) </script> </body> </html>
在預設情況下, v-model 在input 事件中同步輸入框的值與數據,但你可以新增一個修飾符lazy ,從而轉變為在change 事件中同步:
<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >
.number
如果想自動將使用者的輸入值轉為Number 類型(如果原值的轉換結果為NaN 則傳回原值),可以加入一個修飾符number 給v-model 來處理輸入值:
<input v-model.number="age" type="number">
這通常很有用,因為在type="number" 時HTML 中輸入的值也總是會傳回字串類型。
.trim
如果要
用戶輸入的首尾空格,可以添加trim 修飾符到v-model 上過濾輸入:<input v-model.trim="msg">
推薦閱讀:
怎麼使用spirngmvc js傳遞複雜json參數到controller如何使用Koa2檔案上傳下載怎麼使用js實作前後台傳輸Json以上是怎麼使用Vue.js表單控件的詳細內容。更多資訊請關注PHP中文網其他相關文章!