国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vue從零開始總結(jié)19

2021-04-18 18:15 作者:忘魂兒  | 我要投稿

v-model的使用方法,它呢,效果上是雙向綁定的,就是說你改它也改,它改你也改

這里我們用輸入框進(jìn)行演示

上代碼:

<div id="app">
?<input type="text" v-model="message">
?<h2>{{message}}</h2>
</div>

data:{
? ?message:'hello world',
? ?movies:['海賊','火影'],
? ?counter:0
}

如圖:

刪減
改值

如果不用v-model來實(shí)現(xiàn)的話,按照之前學(xué)的內(nèi)容我們可以這么寫

<div id="app">
?<input type="text" :value="message" @input="message=$event.target.value">
?<h2>{{message}}</h2>
</div>

或者在input事件里面再加一個函數(shù)

@input="change"

methods中change(event){

? ? ?this.message=event.target.value;

}

再用單選框進(jìn)行演示

<label for="man">
?男
?<input type="radio" id="man" checked name="sex">
</label>
<label for="feman">
?女
?<input type="radio" id="feman" name="sex">
</label>

沒加v-model之前,我們只能通過設(shè)置同一個name實(shí)現(xiàn)互斥事件,checked實(shí)現(xiàn)默認(rèn)選項(xiàng)

再添加model后,name和checked都不用寫,但需要做的是雙向綁定數(shù)據(jù)用于傳遞給服務(wù)器

<label for="man">
?男
?<input type="radio" id="man" value="男" v-model="sex">//value一定要寫?。?!
</label>
<label for="feman">
?女
?<input type="radio" id="feman" ?value="女" v-model="sex">
</label>
<h3>你的性別是:{{sex}}</h3>

data:{
? ?message:'hello world',
? ?movies:['海賊','火影'],
? ?counter:0,
? ?sex:'男'
}

效果如下:

再用復(fù)選框(單選框)進(jìn)行演示

有的時(shí)候需要用戶查看隱私協(xié)議,并詢問他們是否同意,如果同意則進(jìn)行下一步

那么,代碼演示:

<p>是否同意協(xié)議?</p>
<label for="agree"> 同意協(xié)議</label>
?<input type="checkbox" ?v-model="isAgree" id="agree">//v-model動態(tài)綁定isAgree,根據(jù)用戶的選擇來實(shí)時(shí)更改

<h2>你選擇的是:{{isAgree}}</h2>
<button :disabled="!isAgree">下一步</button>//disabled使無效,為true的時(shí)候使無效,根據(jù)v-model傳過來的isAgree值來判斷是否允許下一步

data:{
? ?isAgree:false
}

效果如下:


未同意前
同意后

再用復(fù)選框(多選框)來進(jìn)行演示,注意動態(tài)綁定的就是數(shù)組了,而且屬于同一數(shù)組

<input type="checkbox" value="唱歌" v-model="hobbies">唱歌
<input type="checkbox" value="畫畫" v-model="hobbies">畫畫
<input type="checkbox" value="攝影" v-model="hobbies">攝影
<input type="checkbox" value="二次元" v-model="hobbies">二次元
<h2>你的愛好是:{{hobbies}}</h2>

data:{
? ?isAgree:false,
? ?hobbies:[]
}

效果如下:


未 操作
全選后

如果用select標(biāo)簽來做的話

單選:

<select name="" v-model="hobby">
?<option value="唱歌" >唱歌</option>
?<option value="畫畫">畫畫</option>
?<option value="攝影">攝影</option>
?<option value="二次元">二次元</option>
</select>
<h2>你的愛好是:{{hobby}}</h2>

data:{
? ?hobby:'畫畫'
}

效果如下:

多選

<select name="" v-model="hobbies" multiple>
?<option value="唱歌" >唱歌</option>
?<option value="畫畫">畫畫</option>
?<option value="攝影">攝影</option>
?<option value="二次元">二次元</option>
</select>
<h2>你的愛好是:{{hobbies}}</h2>

data:{
? ?isAgree:false,
? ?hobbies:[]
}

效果如下:

接下來升級一下,應(yīng)用值綁定!

<label v-for="item in originalHobbies"? :for="itemId">
?<input type="checkbox" :value="item" :id="itemId" v-model="hobbies">{{item}}
</label>
<h2>你的愛好是:{{hobbies}}</h2>

data:{
? ?hobbies:[],
? ?originalHobbies:['唱歌','畫畫','攝影','二次元']
}

效果如下:


拓展三個修飾符:lazy,number,和trim,使用方法為v-model.修飾符=""

lazy為在用戶失去焦點(diǎn)或者按下回車之后觸發(fā)實(shí)時(shí)更新數(shù)據(jù)

<input type="text" v-model.lazy="message">

number為自動隱式轉(zhuǎn)化

<input type="number" v-model.number="age">

<h2>{{typeof age}}</h2>

如圖:


未輸入前age為string
輸入后為number

trim為自動去掉空格

<input type="text" v-model.trim="name">
<h2>{{name}}</h2>

如圖所示:



Vue從零開始總結(jié)19的評論 (共 條)

分享到微博請遵守國家法律
滨州市| 凤阳县| 钟山县| 枣庄市| 岗巴县| 河东区| 新沂市| 南丰县| 建宁县| 汝阳县| 尚志市| 龙口市| 资溪县| 江达县| 沙坪坝区| 盐边县| 鹤山市| 丹江口市| 保康县| 柘荣县| 赤峰市| 手游| 大关县| 眉山市| 克什克腾旗| 军事| 镇巴县| 凭祥市| 兖州市| 芜湖县| 西乌珠穆沁旗| 方正县| 承德县| 聂拉木县| 汉川市| 广宗县| 广南县| 福建省| 沙湾县| 上栗县| 隆子县|