Vue中指令v-model的原理及使用方法
v-model的原理
原理:v-model本質(zhì)上是一個(gè)語(yǔ)法糖。例如應(yīng)用在輸入框上,就是value屬性和input事件的合寫(xiě)。
作用:提供數(shù)據(jù)的雙向綁定
- 數(shù)據(jù)變,視圖跟著變
:value - 視圖變,數(shù)據(jù)跟這變
@input
注意:$event用于在模板中獲取事件的形參。
<template>
<div id="app">
<input v-model="msg" type="text">
<input :value="msg" @input="msg = $event.target.value" type="text" name="" id="">
</div>
</template>
表單類(lèi)組件封裝 & v-model簡(jiǎn)化代碼
表單類(lèi)組件封裝
父?jìng)髯樱簲?shù)據(jù)應(yīng)該是父組件props傳遞過(guò)來(lái)的,v-model拆解綁定數(shù)據(jù)
子傳父:監(jiān)聽(tīng)輸入,子傳父?jìng)髦到o父組件修改
父組件(使用):
<BaseSelect :cityId="selectId" @事件名="selectId = $event"></BaseSelect>
子組件(封裝):
<select :value="cityId" @chang="handleChange">...</select>
props: { cityId: String },methods: { handleChange (e) { this.$emit('事件名', e.target.value) } }父組件v-model簡(jiǎn)化代碼,實(shí)現(xiàn)子組件和父組件數(shù)據(jù)雙向綁定。
子組件中:props通過(guò)value接收,事件觸發(fā)input
父組件中:v-model給組件直接解綁數(shù)據(jù)(
:value+@input)父組件(使用):
<BaseSelect v-model="selectId"></BaseSelect>
子組件(封裝):
<select :value="cityId" @chang="handleChange">...</select>
props: { value: String }, methods: { handleChange (e) { this.$emit('input', e.target.value) } }
附:v-model結(jié)合radio類(lèi)型使用
radio單選框的屬性是互斥的,如果使用v-model,可以不使用name就可以互斥。
v-model綁定sex屬性,初始值為“男”,選擇女后sex屬性變成“女”,因?yàn)榇藭r(shí)是雙向綁定。
<div id="app">
<!-- name屬性radio互斥 使用v-model可以不用name就可以互斥 -->
<label for="male">
<input type="radio" id="male" name="sex" value="男" v-model="sex">男
</label>
<label for="female">
<input type="radio" id="female" name="sex" value="女" v-model="sex">女
</label>
<div>你選擇的性別是:{{sex}}</div>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
message:"zzz",
sex:"男"
},
})
</script>總結(jié)
到此這篇關(guān)于Vue中指令v-model的原理及使用方法的文章就介紹到這了,更多相關(guān)Vue 指令v-model原理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js 使用axios實(shí)現(xiàn)下載功能的示例
下面小編就為大家分享一篇vue.js 使用axios實(shí)現(xiàn)下載功能的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看2018-03-03
vue實(shí)現(xiàn)點(diǎn)擊按鈕切換背景顏色的示例代碼
這篇文章主要介紹了用vue簡(jiǎn)單的實(shí)現(xiàn)點(diǎn)擊按鈕切換背景顏色,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
elementUI select組件value值注意事項(xiàng)詳解
這篇文章主要介紹了elementUI select組件value值注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Vue中import from@符號(hào)指的是什么意思
這篇文章主要介紹了Vue中import from@符號(hào)指的是意思,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue-Luckysheet的使用方法及遇到問(wèn)題解決方法
Luckysheet ,一款純前端類(lèi)似excel的在線表格,功能強(qiáng)大、配置簡(jiǎn)單、完全開(kāi)源,這篇文章主要介紹了Vue-Luckysheet的使用方法,需要的朋友可以參考下2022-08-08
使用canvas實(shí)現(xiàn)一個(gè)vue彈幕組件功能
這篇文章主要介紹了使用canvas實(shí)現(xiàn)一個(gè)vue彈幕組件功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
vue如何在項(xiàng)目中調(diào)用騰訊云的滑動(dòng)驗(yàn)證碼
這篇文章主要介紹了vue如何在項(xiàng)目中調(diào)用騰訊云的滑動(dòng)驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Vue3.0數(shù)據(jù)響應(yīng)式原理詳解
這篇文章主要介紹了Vue3.0數(shù)據(jù)響應(yīng)式原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

