Vue.js表單輸入繫結
表單輸入繫結
對於Vue 來說,使用v-bind 並不能解決表單域物件雙向繫結的需求。所謂雙向繫結,就是無論是透過input 還是透過Vue 物件,都能修改繫結的資料物件的值。Vue 提供了v-model 進行雙向繫結。本章將重點講解表單域物件的雙向繫結方法和技巧。
實現雙向資料繫結
對於資料的繫結,不管是使用插值表示式({{}} )還是v-text 指令,對於資料間的互動都是單向的,只能將Vue 例項裡的值傳遞給頁面,頁面對資料值的任何操作卻無法傳遞給model 。
MVVM 模式最重要的一個特性,可以說是資料的雙向繫結,而Vue 作為一個MVVM 框架,肯定也實現了資料的雙向繫結。在Vue 中使用內建的v-model 指令完成資料在View 與Model 間的雙向繫結。
可以用v-model 指令在表單<input> 、<textarea> 及<select> 元素上建立雙向資料繫結。它會根據控制元件型別自動選取正確的方法來更新元素。儘管有些神奇,但v-model 本質上不過是語法糖。它負責監聽使用者的輸入事件以更新資料,並對一些極端場景進行一些特殊處理。
v-model 會忽略所有表單元素的value 、checked 、selected 特性的初始值,而總是將Vue 例項的資料作為資料來源。這裡應該透過JavaScript 在元件的data 選項中宣告初始值。
單行文字輸入框
下面講解最常見的單行文字輸入框的資料雙向繫結。
【例10.1 】繫結單行文字輸入框(原始碼\ch10\10.1.html )。
<div id="app"> <input type="text" v-model="message" value="hello world"> <p>{{message}}</p> </div> <!--引入vue檔案--> <script src=" <script> //建立一個應用程式例項 const vm= Vue.createApp({ //該函式返回資料物件 data(){ return{ message:"紅羅袖裡分明見" } } //在指定的DOM元素上裝載應用程式例項的根元件 }).mount('#app'); </script>
在Chrome 瀏覽器中執行程式,效果如圖10-1 所示;在輸入框中輸入“白玉盤中看卻無”,可以看到下面的內容也發生了變化,如圖10-2 所示。
多行文字輸入框
本節演示在多行文字輸入框textarea 標籤中繫結message 屬性。
【例10.2 】繫結多行文字輸入框(原始碼\ch10\10.2.html )。
<div id="app"> <p>{{message}}</p> <textarea v-model="message"></textarea> </div> <!--引入vue檔案--> <script src=" <script> //建立一個應用程式例項 const vm= Vue.createApp({ //該函式返回資料物件 data(){ return{ message:"輕衣軟履步江沙" } } //在指定的DOM元素上裝載應用程式例項的根元件 }).mount('#app'); </script>
在Chrome 瀏覽器中執行程式,效果如圖10-3 所示;在textarea 標籤中輸入多行文字,效果如圖10-4 所示。
本文節選自《 Vue 3.x 從入門到精通 ( 影片教學版)》,內容釋出獲得作者和出版社授權。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18841117/viewspace-2952347/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vue(10)表單輸入繫結v-modelVue
- 初識Vue2(一):表單輸入繫結(附Demo)Vue
- Vue.js 2.x筆記:表單繫結(3)Vue.js筆記
- vue.js繫結classVue.js
- 小王的學習筆記(十四)——vue資料渲染、事件處理、表單輸入與繫結筆記Vue事件
- 輸入表單驗證
- Blazor和Vue對比學習(基礎1.9):表單輸入繫結和驗證,VeeValidate和EditFromBlazorVue
- angular 多選表單資料繫結Angular
- Laravel 表單輸入資料Laravel
- HTML之 表單與輸入HTML
- Vuejs基本知識(十二)【表單的繫結】VueJS
- 表單限制字串輸入長度字串
- Vue.js實現可配置的登入表單Vue.js
- [vue] 表單輸入格式化,中文輸入法異常Vue
- Gin(四):表單提交校驗和模型繫結模型
- vue.js繫結事件監聽器(v-on)Vue.js事件
- Vue.js 3.x 雙向繫結原理Vue.js
- 從Vue.js原始碼角度再看資料繫結Vue.js原始碼
- IOC容器的繫結解析過程(繫結單例)單例
- jsp頁面表單不輸入卻能登入成功?JS
- 簡單的 Vue.js 表單驗證外掛 (vee-validate) 使用總結Vue.js
- vue.js輸入框輸入值內容實時跟著變化Vue.js
- Go-Web程式設計_表單_0x02_驗證表單的輸入GoWeb程式設計
- 簡單的 Vue.js 入門方法Vue.js
- 輸入框前面帶有表單驗證提示的功能
- 02 . Vue入門基礎之條件渲染,列表渲染,事件處理器,表單控制元件繫結Vue事件控制元件
- vue基礎-動態樣式&表單繫結&vue響應式原理Vue
- KETTLE中Excel表輸入Excel
- 好程式設計師web前端分享HTML表單和輸入程式設計師Web前端HTML
- Flutter 基礎控制元件篇-->輸入框(TextField)、表單(Form)Flutter控制元件ORM
- Java------簡單的輸入/輸出Java
- Android單項繫結MVVM專案模板AndroidMVVM
- angular雙向繫結簡單實現Angular
- 淺入深出Vue:資料繫結Vue
- Vue.js 帶下拉選項的輸入框(Textbox with Dropdown)元件Vue.js元件
- 關於表單回顯和資料繫結,你有什麼最佳實踐?
- 第4周 4.2 簡單輸入輸出
- uni-app入門教程(3)資料繫結、樣式繫結和事件處理APP事件