日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

v-model的用法与解析

發(fā)布時間:2023/12/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 v-model的用法与解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

僅用于以下控件:

<input> <select> <textarea> 組件

v-model以Vue 實例的數(shù)據(jù)作為數(shù)據(jù)來源,應(yīng)當在組件的 data 選項中聲明初始值,之后通過監(jiān)聽用戶的輸入事件以更新數(shù)據(jù),并對一些極端場景進行一些特殊處理。

在表單控件上使用v-model

v-model根據(jù)不同的控件類型,使用不同的屬性作為輸入并拋出不同的事件:
text 和 textarea 元素使用 value 屬性和 input 事件;
checkbox 和 radio ,單個選項使用checked屬性,多個選項,輸出value屬性的數(shù)組,事件使用 change
select 字段將 value 作為 prop 并將 change 作為事件。
1、text 和 textarea 元素綁定value 屬性和 input 事件:

<input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p>

監(jiān)聽用戶的輸入,并將value的值給message,所以,當用戶有輸入時,p標簽里的{{ message }}會實時顯示用戶的輸入
注意,在<textarea></textarea>中使用插值不會生效,而是給它綁定v-model,在另外的地方輸出對應(yīng)的value。
2、checkbox 復(fù)選框:單個選項綁定checked屬性,多個選項綁定value屬性到一個數(shù)組,事件為 change :


3、radio單選按鈕:


4、select選擇框:
(1)只可單選時,綁定選項的value值


2)可多選時,綁定value到一個數(shù)組

5、在組件上使用v-moel

組件上的 v-model 默認使用名為 value 的 prop 和名為 input 的事件。

組件的input事件通過組件內(nèi)部輸入框的input事件提交$emit,手動觸發(fā)。

所以為了保持組件內(nèi)input的value和input和組件的保持一致,組件內(nèi)的 必須:

  • value 使用作為prop 的value
  • input 綁定到組件的input事件
<custom-input v-model="searchText"></custom-input> //相當于 <custom-input:value="searchText"@input="searchText = $event" ></custom-input>//對應(yīng)的input Vue.component('custom-input', {props: ['value'],template: `<input:value="value"@input="$emit('input', $event.target.value)">` })

以上是v-model的默認操作,但是像復(fù)選框用作單個選項這種使用checked屬性而不是value屬性,可以用實例的model 選項重新定義默認的prop和事件:

Vue.component('base-checkbox', {model: {prop: 'checked',event: 'change'},props: {checked: Boolean},template: `<inputtype="checkbox":checked="checked":change="$emit('change', $event.target.checked)">` })
v-model修飾符

在默認情況下,v-model 在每次 input 事件觸發(fā)后將輸入框的值與數(shù)據(jù)進行同步 (除了上述輸入法組合文字時)。你可以添加 lazy 修飾符,從而轉(zhuǎn)變?yōu)槭褂?change 事件進行同步:
<!-- 在“change”時而非“input”時更新 --> <input v-model.lazy="msg" >

.number

如果想自動將用戶的輸入值轉(zhuǎn)為數(shù)值類型,可以給 v-model 添加 number 修飾符:<input v-model.number="age" type="number">

.trim

如果要自動過濾用戶輸入的首尾空白字符,可以給 v-model 添加 trim 修飾符:<input v-model.trim="msg">

轉(zhuǎn)載于
https://www.cnblogs.com/yaoyao-sun/p/10542612.html

總結(jié)

以上是生活随笔為你收集整理的v-model的用法与解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。