亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue中v-model的應用及使用詳解

2019-11-19 13:36:16
字體:
來源:轉載
供稿:網友

vue中經常使用到<input>和<textarea>這類表單元素,vue對于這些元素的數據綁定和我們以前經常用的jQuery有些區別。vue使用v-model實現這些標簽數據的雙向綁定,它會根據控件類型自動選取正確的方法來更新元素。

    v-model本質上是一個語法糖。如下代碼<input v-model="test">本質上是<input :value="test" @input="test = $event.target.value">,其中@input是對<input>輸入事件的一個監聽:value="test"是將監聽事件中的數據放入到input,下面代碼是v-model的一個簡單的例子。在這邊需要強調一點,v-model不僅可以給input賦值還可以獲取input中的數據,而且數據的獲取是實時的,因為語法糖中是用@input對輸入框進行監聽的。可以在如下div中加入<p>{{ test}}</p>獲取input數據,然后去修改input中數據會發現<p></p>中數據隨之改變。

<div id="app">  <input v-model="test">  <!-- <input :value="test" @input="test= $event.target.value"> --><!--語法糖--></div><script src="/resources/js/vue.js"></script><script>  new Vue({    el: '#app',    data: {      test: '這是一個測試'    }  });</script>

1.v-model在input的下拉框、單選按鈕、復選框中的應用

    如下面代碼,分別是v-model在input不同的組件中的應用,但是大體用法相同。注意:像下面代碼中復選框這樣需要接收多條數據的情況下,在data里面應該由數組與其對應二不是字符串。

    這里有一個值綁定的問題,不管是下拉框或者單選按鈕還是復選框,我們都可以在對應的標簽內設置value。以下拉框為例,我們在<option>中添加了vulue=“A被選”,當我們選擇第一個下拉框A的時候,在selected中的字符串為‘A被選',如果我們不在<option>中設置value值的話那么selected中的字符串將是<option>中的值‘A'。

    這里還有一個和vue無關的問題,比較簡單,但是由于平時主要做后臺java開發沒太注意這個前端問題。以下面的單選按鈕代碼為例,<label>標簽內有一個for元素與input中的id值對應(兩個值相同),剛開始不太理解為什么這么寫,這個對前端人員來說應該是一個很簡單的問題。這樣寫的目的沒有其它任何作用,只是label元素為鼠標改進了可用性,在點擊label的時候也相當于點擊了對應的input控件,點擊label標簽也可以觸發input標簽控件。例如單選按鈕在加了for之后點擊small也可以選擇對應按鈕,但是如果不加for是沒有任何反應的。

<!--下拉框--><div id="app">  <select v-model="selected">    <option value="A被選">A</option>    <option value="B被選">B</option>    <option value="C被選">C</option>  </select>  <span>Selected: {{ selected }}</span></div><script src="/resources/js/vue.js"></script><script>  new Vue({    el: '#app',    data: {      selected: ''    }  });</script><!--單選按鈕--><div id="app">  <input type="radio" id="small" value="small_value" v-model="picked">  <label for="small">small</label>  <br>  <input type="radio" id="big" value="big_value" v-model="picked">  <label for="big">big</label>  <br>  <span>Picked: {{ picked }}</span></div><script src="/resources/js/vue.js"></script><script>  new Vue({    el: '#app',    data: {      picked: ''    }  })</script><!--復選框--><div id="app">  <input type="checkbox" id="one" value="value_one" v-model.lazy="checkedNames">  <label for="one">選項一</label>  <input type="checkbox" id="two" value="value_two" v-model.lazy="checkedNames">  <label for="two">選項二</label>  <input type="checkbox" id="three" value="value_three" v-model.lazy="checkedNames">  <label for="three">選項三</label>  <br>  <span>Checked names: {{ checkedNames }}</span></div><script src="/resources/js/vue.js"></script><script>  new Vue({    el: '#app',    data: {      checkedNames: []    }  })</script>

2.v-model修飾符

    v-model也可以和.lazy、.trim和.number這些修飾符一起使用。

  <!-- 在每次 input 事件觸發后將輸入框的值與數據進行同步,添加 lazy 修飾符,從而轉變為使用 change 事件進行同步 -->  <input v-model.lazy="msg" >  <!--去除字符串首尾的空格-->  <input v-model.trim="msg">  <!--將數據轉化為值類型-->  <input v-model.number="age" type="number">

    .trim和.number的用法比較簡單,這里就不做過多解釋。.lazy相當于一個延遲加載的過程。在上面我們講過<input v-model="test">相當于一個語法糖<input :value="test" @input="test = $event.target.value">,<input v-model.lazy="msg" >則相當將input的實時更新改為一個change事件,v-model.lazy只有當焦點移除input時才會觸發事件。下圖1位v-model效果,圖2位v-model.lazy效果。

下面在單獨給大家介紹下vue中v-model使用

v-model用于表單數據的雙向綁定,其實它就是一個語法糖,這個背后就做了兩個操作:

  1. v-bind綁定一個value屬性

  2. v-on指令給當前元素綁定input事件

自定義組件使用v-model,應該有以下操作:

1. 接收一個value prop

2. 觸發input事件,并傳入新值

在原生表單元素中:

<input v-model="inputValue">

相當于

<input v-bind:value="inputValue" v-on:input="inputValue = $event.target.value">

在自定義組件中

<my-component v-model="inputValue"></my-component>

相當于

<my-component v-bind:value="inputValue" v-on:input="inputValue = argument[0]"></my-component>

這個時候,inputValue接受的值就是input事件的回調函數的第一個參數,所以在自定義組件中,要實現數據綁定,還需要$emit去觸發input的事件。

this.$emit('input', value)

總結

以上所述是小編給大家介紹的vue中v-model的應用及使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久99黑人| 国产精品久久精品| 久久久亚洲国产天美传媒修理工| 国产成人亚洲综合| 国产盗摄xxxx视频xxx69| 成人xxxxx| 日韩av网站大全| 亚洲偷欧美偷国内偷| 中文字幕欧美亚洲| 日韩中文字幕精品| 中文字幕精品一区久久久久| 久久在线视频在线| 97视频在线观看免费高清完整版在线观看| 国产欧美精品一区二区三区介绍| 97涩涩爰在线观看亚洲| 亚洲香蕉在线观看| 欧美高清自拍一区| 色视频www在线播放国产成人| 亚洲欧美日韩在线高清直播| 欧美日韩国产专区| 国产成人精品a视频一区www| 欧美午夜www高清视频| 日韩成人在线免费观看| 精品国产一区二区三区久久狼5月| 日韩中文字幕免费| 亚洲成年人影院在线| 97免费视频在线播放| 亚洲欧美国产精品久久久久久久| 亚洲最大成人免费视频| 伊人成人开心激情综合网| 91亚洲国产精品| 国产精品成人国产乱一区| 91精品国产色综合| 国产精欧美一区二区三区| 亚洲国产毛片完整版| 日韩亚洲在线观看| 欧美激情在线视频二区| 国产精品欧美一区二区三区奶水| 69av视频在线播放| 亚洲香蕉av在线一区二区三区| 欧美日韩国产精品专区| 欧美日韩亚洲视频| 精品一区电影国产| 最近2019年中文视频免费在线观看| 欧美一区二三区| 欧美一级成年大片在线观看| 在线观看视频99| 欧美日韩国产中字| 97香蕉超级碰碰久久免费软件| 日韩第一页在线| 亚洲色图av在线| 欧美成人手机在线| 成人黄色短视频在线观看| 日韩av中文字幕在线播放| 欧美日韩在线免费观看| 2019av中文字幕| 欧美日韩国产综合视频在线观看中文| 欧美性猛交xxxx偷拍洗澡| 欧美国产日产韩国视频| 亚洲视频axxx| 久久久久免费视频| 欧美日韩激情视频8区| 奇米4444一区二区三区| 欧美高清视频在线播放| 久久99精品视频一区97| 国产又爽又黄的激情精品视频| 欧美大片在线影院| 国产在线视频2019最新视频| 中文字幕久热精品视频在线| 国产精品电影网| 亚洲乱码一区av黑人高潮| 久久久精品日本| 亚洲欧美一区二区三区在线| 精品久久中文字幕久久av| 国产精品日韩欧美| 欧美激情小视频| 午夜精品一区二区三区av| 久久99青青精品免费观看| 日韩一区视频在线| 久久国产精品电影| 亚洲国产黄色片| 一区二区亚洲欧洲国产日韩| 欧美日韩一区二区三区在线免费观看| 国产精品h在线观看| 国产最新精品视频| 91国在线精品国内播放| 欧美黑人xxxⅹ高潮交| 日韩黄色高清视频| 欧美精品激情blacked18| 日韩最新av在线| 中日韩美女免费视频网站在线观看| 日韩成人免费视频| 亚洲变态欧美另类捆绑| 人妖精品videosex性欧美| 欧美高清电影在线看| 久久精品人人爽| 人体精品一二三区| 久久99国产精品久久久久久久久| 7m精品福利视频导航| 国产精品久久久av| 久久全球大尺度高清视频| 这里只有精品久久| 欧美亚洲激情视频| 51ⅴ精品国产91久久久久久| 精品久久久久久久久国产字幕| 97久久久久久| 亚洲xxxx视频| 国产精品av免费在线观看| 久久深夜福利免费观看| 亚洲天堂av综合网| 日韩精品在线观看一区| 亚洲男人天堂手机在线| 亚州av一区二区| 国产日韩在线看| 国产视频在线一区二区| 欧亚精品中文字幕| 亚洲一区二区三区xxx视频| 亚洲女在线观看| 国产精品h片在线播放| 成人av在线网址| 国产成人精品免费久久久久| 久久69精品久久久久久国产越南| 久久亚洲一区二区三区四区五区高| xvideos国产精品| 欧美激情综合色综合啪啪五月| 日韩午夜在线视频| 91精品国产综合久久久久久蜜臀| 欧美性jizz18性欧美| 欧美另类第一页| 欧美亚洲视频在线观看| 欧美精品久久久久久久| 日韩精品视频中文在线观看| 欧美电影在线观看| 国产精品人成电影| 国产日韩精品综合网站| 日韩国产精品视频| 国产婷婷色综合av蜜臀av| 日韩av一区二区在线| 国产亚洲精品激情久久| 成人信息集中地欧美| 国产精品麻豆va在线播放| 欧美日韩中国免费专区在线看| 色偷偷综合社区| 欧美亚洲国产成人精品| 91精品国产91久久久久久| 日韩精品在线电影| 欧美国产激情18| 亚洲午夜精品视频| 国内精品在线一区| 88国产精品欧美一区二区三区| 亚洲国产精彩中文乱码av| 欧美黄色片视频| 欧美一区在线直播| 国产一区二区三区在线免费观看| 亚洲福利视频网站| 97av在线播放| 亚洲国模精品私拍| 欧美成人亚洲成人| 亚洲成人在线网| 国产精品1234| 国产精品9999| 国产精品第七影院| 91亚洲国产成人精品性色| 亚洲成avwww人|