Vue中使用v-model雙向數(shù)據(jù)綁定select、checked等多種表單元素的方法
v-model 指令可以用在表單 input、textarea 及 select 元素上創(chuàng)建雙向數(shù)據(jù)綁定。它會(huì)根據(jù)控件類型自動(dòng)選取正確的方法來更新元素。
基礎(chǔ)用法:
<div id="APP">
<input type="text" v-model:value="tel" >
<p>您的手機(jī)號:{{tel}}</p>
</div>const vm = new Vue({
el: "#APP",
data(){
return {
tel: 15503931234,
}
},
});注:當(dāng)我們修改輸入框里的內(nèi)容時(shí),下方的內(nèi)容也會(huì)跟著變化。也就是說我們修改內(nèi)容時(shí),改變了 data 中的數(shù)據(jù),data 中的數(shù)據(jù)變化后又重新渲染了 p 標(biāo)簽里的內(nèi)容。

v-model 與 v-bind 指令的區(qū)別:
<div id="APP">
<input type="text" :value="tel" >
<p>您的手機(jī)號:{{tel}}</p>
</div>const vm = new Vue({
el: "#APP",
data(){
return {
tel: 15503931234,
}
},
});注:使用 v-bind 綁定數(shù)據(jù),修改輸入框里的內(nèi)容時(shí),下方的內(nèi)容不會(huì)發(fā)生變化。也就是說我們修改內(nèi)容時(shí),不會(huì)改變 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 ,因?yàn)?v-model 默認(rèn)收集的就是 value 值。
<div id="APP">
<input type="text" v-model="tel" >
<p>您的手機(jī)號:{{tel}}</p>
</div>const vm = new Vue({
el: "#APP",
data(){
return {
tel: 15503931234,
}
},
});注:雙向數(shù)據(jù)綁定一般都應(yīng)用在表單類元素上(如: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: "男",
}
},
});注:當(dāng)選中時(shí),sex 為 value 中的值。

單個(gè)復(fù)選框使用 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,
}
},
});注:當(dāng)選中時(shí),status 為 true 。未選中時(shí),status 為 false .

單個(gè)復(fù)選框指定 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: "同意",
}
},
});注:當(dāng)選中時(shí),status 為同意 。未選中時(shí),status 為不同意 。

多個(gè)復(fù)選框使用 v-model:
<div id="APP">
<label>
<input type="checkbox" value="草莓" v-model="list"> 草莓
</label>
<label>
<input type="checkbox" value="藍(lán)莓" v-model="list"> 藍(lán)莓
</label>
<label>
<input type="checkbox" value="火龍果" v-model="list"> 火龍果
</label>
<p>您已選擇:{{list}}</p>
</div>const vm = new Vue({
el: "#APP",
data(){
return {
list: ["草莓"],
}
},
});注:多個(gè)復(fù)選框,需要綁定到同一個(gè)數(shù)組上 。選中的值,會(huì)自動(dòng)添加到數(shù)組中。

select 單選時(shí)使用 v-model:
<div id="APP">
<select v-model="price">
<option value="0">請選擇</option>
<option value="200">草莓</option>
<option value="100">藍(lán)莓</option>
<option value="150">火龍果</option>
</select>
<p>您需要支付:{{price}} 元</p>
</div>const vm = new Vue({
el: "#APP",
data(){
return {
price: 0,
}
},
});注:如果 v-model 表達(dá)式的初始值未能匹配任何選項(xiàng),select 元素將被渲染為未選中狀態(tài)。所以更推薦給 price 一個(gè)默認(rèn)值。

select 多選時(shí)使用 v-model:
<div id="APP">
<select v-model="list" multiple>
<option value="草莓">草莓</option>
<option value="藍(lán)莓">藍(lán)莓</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 鍵再點(diǎn)擊選項(xiàng)可以多選內(nèi)容,多選時(shí)需要綁定到同一個(gè)數(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 動(dòng)態(tài)路由的實(shí)現(xiàn)及 Springsecurity 按鈕級別的權(quán)限控制
這篇文章主要介紹了Vue 動(dòng)態(tài)路由的實(shí)現(xiàn)以及 Springsecurity 按鈕級別的權(quán)限控制的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
使用vue-json-viewer實(shí)現(xiàn)JSON數(shù)據(jù)可視化詳解
vue-json-viewer?是一個(gè)用于在?vue.js?應(yīng)用中展示?JSON?數(shù)據(jù)的插件,它提供了一種直觀和美觀的方式來可視化?JSON?數(shù)據(jù),下面我們來看看如何使用它進(jìn)行JSON數(shù)據(jù)可視化吧2025-01-01
一篇文章帶你吃透Vue生命周期(結(jié)合案例通俗易懂)
這篇文章主要給大家介紹了關(guān)于如何通過一篇文章帶你吃透Vue生命周期,文章通過結(jié)合案例更加的通俗易懂,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
在Vue項(xiàng)目中取消ESLint代碼檢測的步驟講解
今天小編就為大家分享一篇關(guān)于在Vue項(xiàng)目中取消ESLint代碼檢測的步驟講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
vue項(xiàng)目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的解決
這篇文章主要介紹了vue項(xiàng)目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的兩種解決方案,幫助大家更好的理解和學(xué)習(xí)使用vue,感興趣的朋友可以了解下2021-04-04
Vue中使用require.context自動(dòng)引入組件的操作方法
require.context?是?webpack?提供的一個(gè)API,用于創(chuàng)建context,即一組具有相同上下文的模塊,使用?require.context?可以方便地加載多個(gè)模塊,并且可以靈活地控制模塊的加載順序和依賴關(guān)系,本文給大家講解Vue中使用require.context自動(dòng)引入組件的方法,感興趣的朋友一起看看吧2024-01-01
vue實(shí)現(xiàn)父子組件之間的通信以及兄弟組件的通信功能示例
這篇文章主要介紹了vue實(shí)現(xiàn)父子組件之間的通信以及兄弟組件的通信功能,結(jié)合實(shí)例形式分析了vue.js組件間通信相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
vue3的defineExpose宏函數(shù)是如何暴露方法給父組件使用
當(dāng)子組件使用setup后,父組件就不能像vue2那樣直接就可以訪問子組件內(nèi)的屬性和方法,這個(gè)時(shí)候就需要在子組件內(nèi)使用defineExpose宏函數(shù)來指定想要暴露出去的屬性和方法,本文介紹vue3的defineExpose宏函數(shù)是如何暴露方法給父組件使用,需要的朋友可以參考下2024-05-05
Vue.js實(shí)現(xiàn)微信過渡動(dòng)畫左右切換效果
這篇文章主要給大家介紹了利用Vue.js仿微信過渡動(dòng)畫左右切換效果的相關(guān)資料,需要用到的技術(shù)棧是Vue+Vuex。文中通過示例代碼介紹的非常詳細(xì),對大家具一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06

