Vue中使用v-model雙向數(shù)據(jù)綁定select、checked等多種表單元素的方法
v-model 指令可以用在表單 input、textarea 及 select 元素上創(chuàng)建雙向數(shù)據(jù)綁定。它會根據(jù)控件類型自動選取正確的方法來更新元素。
基礎(chǔ)用法:
<div id="APP"> <input type="text" v-model:value="tel" > <p>您的手機號:{{tel}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { tel: 15503931234, } }, });
注:當我們修改輸入框里的內(nèi)容時,下方的內(nèi)容也會跟著變化。也就是說我們修改內(nèi)容時,改變了 data 中的數(shù)據(jù),data 中的數(shù)據(jù)變化后又重新渲染了 p 標簽里的內(nèi)容。
v-model 與 v-bind 指令的區(qū)別:
<div id="APP"> <input type="text" :value="tel" > <p>您的手機號:{{tel}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { tel: 15503931234, } }, });
注:使用 v-bind 綁定數(shù)據(jù),修改輸入框里的內(nèi)容時,下方的內(nèi)容不會發(fā)生變化。也就是說我們修改內(nèi)容時,不會改變 data 中的數(shù)據(jù)。
Vue 中兩種數(shù)據(jù)綁定方式的區(qū)別:
單向數(shù)據(jù)綁定 v-bind :數(shù)據(jù)只能從 data 流向頁面。
雙向數(shù)據(jù)綁定 v-model :數(shù)據(jù)不僅能從 data 流向頁面,還可以從頁面流向 data 。
v-model 指令簡寫:
v-model:value 也可以簡寫為 v-model ,因為 v-model 默認收集的就是 value 值。
<div id="APP"> <input type="text" v-model="tel" > <p>您的手機號:{{tel}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { tel: 15503931234, } }, });
注:雙向數(shù)據(jù)綁定一般都應用在表單類元素上(如:input、select等)。
textarea 多行文本使用 v-model:
<div id="APP"> <textarea placeholder="請輸入簡介" v-model="content"></textarea> <p>您的簡介:{{content}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { content: "", } }, });
單選按鈕使用 v-model:
<div id="APP"> <label> <input type="radio" value="男" v-model="sex"> 男 </label> <label> <input type="radio" value="女" v-model="sex"> 女 </label> <p>您已選擇:{{sex}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { sex: "男", } }, });
注:當選中時,sex 為 value 中的值。
單個復選框使用 v-model:
<div id="APP"> <input type="checkbox" v-model="status"> <p>是否選中:{{status}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { status: true, } }, });
注:當選中時,status 為 true 。未選中時,status 為 false .
單個復選框指定 v-model 選中值:
<div id="APP"> <input type="checkbox" v-model="status" true-value="同意" false-value="不同意"> <p>您是否同意:{{status}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { status: "同意", } }, });
注:當選中時,status 為同意 。未選中時,status 為不同意 。
多個復選框使用 v-model:
<div id="APP"> <label> <input type="checkbox" value="草莓" v-model="list"> 草莓 </label> <label> <input type="checkbox" value="藍莓" v-model="list"> 藍莓 </label> <label> <input type="checkbox" value="火龍果" v-model="list"> 火龍果 </label> <p>您已選擇:{{list}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { list: ["草莓"], } }, });
注:多個復選框,需要綁定到同一個數(shù)組上 。選中的值,會自動添加到數(shù)組中。
select 單選時使用 v-model:
<div id="APP"> <select v-model="price"> <option value="0">請選擇</option> <option value="200">草莓</option> <option value="100">藍莓</option> <option value="150">火龍果</option> </select> <p>您需要支付:{{price}} 元</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { price: 0, } }, });
注:如果 v-model 表達式的初始值未能匹配任何選項,select 元素將被渲染為未選中狀態(tài)。所以更推薦給 price 一個默認值。
select 多選時使用 v-model:
<div id="APP"> <select v-model="list" multiple> <option value="草莓">草莓</option> <option value="藍莓">藍莓</option> <option value="火龍果">火龍果</option> <option value="香蕉">香蕉</option> <option value="蘋果">蘋果</option> </select> <p>您已選擇:{{list}}</p> </div>
const vm = new Vue({ el: "#APP", data(){ return { list: ["草莓","火龍果"], } }, });
注:添加 multiple 屬性后,按住 Ctrl 鍵再點擊選項可以多選內(nèi)容,多選時需要綁定到同一個數(shù)組上。
到此這篇關(guān)于Vue中如何使用v-model雙向數(shù)據(jù)綁定select、checked等多種表單元素的文章就介紹到這了,更多相關(guān)Vue v-model雙向數(shù)據(jù)綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue 動態(tài)路由的實現(xiàn)及 Springsecurity 按鈕級別的權(quán)限控制
這篇文章主要介紹了Vue 動態(tài)路由的實現(xiàn)以及 Springsecurity 按鈕級別的權(quán)限控制的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09使用vue-json-viewer實現(xiàn)JSON數(shù)據(jù)可視化詳解
vue-json-viewer?是一個用于在?vue.js?應用中展示?JSON?數(shù)據(jù)的插件,它提供了一種直觀和美觀的方式來可視化?JSON?數(shù)據(jù),下面我們來看看如何使用它進行JSON數(shù)據(jù)可視化吧2025-01-01一篇文章帶你吃透Vue生命周期(結(jié)合案例通俗易懂)
這篇文章主要給大家介紹了關(guān)于如何通過一篇文章帶你吃透Vue生命周期,文章通過結(jié)合案例更加的通俗易懂,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-02-02vue項目watch內(nèi)的函數(shù)重復觸發(fā)問題的解決
這篇文章主要介紹了vue項目watch內(nèi)的函數(shù)重復觸發(fā)問題的兩種解決方案,幫助大家更好的理解和學習使用vue,感興趣的朋友可以了解下2021-04-04Vue中使用require.context自動引入組件的操作方法
require.context?是?webpack?提供的一個API,用于創(chuàng)建context,即一組具有相同上下文的模塊,使用?require.context?可以方便地加載多個模塊,并且可以靈活地控制模塊的加載順序和依賴關(guān)系,本文給大家講解Vue中使用require.context自動引入組件的方法,感興趣的朋友一起看看吧2024-01-01vue實現(xiàn)父子組件之間的通信以及兄弟組件的通信功能示例
這篇文章主要介紹了vue實現(xiàn)父子組件之間的通信以及兄弟組件的通信功能,結(jié)合實例形式分析了vue.js組件間通信相關(guān)操作技巧,需要的朋友可以參考下2019-01-01vue3的defineExpose宏函數(shù)是如何暴露方法給父組件使用
當子組件使用setup后,父組件就不能像vue2那樣直接就可以訪問子組件內(nèi)的屬性和方法,這個時候就需要在子組件內(nèi)使用defineExpose宏函數(shù)來指定想要暴露出去的屬性和方法,本文介紹vue3的defineExpose宏函數(shù)是如何暴露方法給父組件使用,需要的朋友可以參考下2024-05-05