vue2 v-model—綁定事件—深度響應(yīng)式

1st.v-model指令的詳細(xì)用法

? ? 在表單標(biāo)簽中讨越,v-model雙向綁定的用法有所區(qū)別把跨。

首先在data中定義好數(shù)據(jù):

data:?{

????????????????name:?"張三",

????????????????sex:?'男',

????????????????address:?'南京市?雨花臺區(qū)',

????????????????isOK:?true,

????????????????hobbies:?['睡覺',?'打游戲'],

????????????????city:"蘇州",

????????????????foods:['巧克力','西瓜','米飯']

????????????}

文本框:使用v-model-value(簡寫v-model)直接雙向綁定數(shù)據(jù)name

<p>文本框:<input?type="text"?v-model="name">?{{name}}</p>


單選框:使用v-model綁定sex值着逐,name屬性相同耸别,且同時(shí)綁定數(shù)據(jù)sex的單選框會用自己的value替換掉sex

<p>單選框:

????????????<input?type="radio"?v-model="sex"?name="sex"?value="男">男

????????????<input?type="radio"?v-model="sex"?name="sex"?value="女">女?

????????????{{sex}}

</p>


多行文本框:使用v-model-value(簡寫v-model)直接雙向綁定數(shù)據(jù)address

<p>多行文本框:<textarea?cols="30"?rows="5"?v-model="address"></textarea>?{{address}}</p>


單個(gè)復(fù)選框:單個(gè)復(fù)選框時(shí)秀姐,使用v-model綁定一個(gè)boolean屬性的數(shù)據(jù)省有,數(shù)據(jù)值為false時(shí)不選中,反之則選中

<p>單個(gè)復(fù)選框:<input?type="checkbox"?v-model="isOK">是否同意?{{isOK}}</p>


多個(gè)復(fù)選框:使用多個(gè)復(fù)選框時(shí)细移,使用v-model綁定一個(gè)數(shù)組,數(shù)組中的值和復(fù)選框的value相同時(shí)會選中復(fù)選框雪侥,當(dāng)用戶選中一個(gè)復(fù)選框時(shí)也會往數(shù)組里加入自身的value值

<p>多個(gè)復(fù)選框:

????????????<input?type="checkbox"?v-model="hobbies"?value="睡覺">睡覺

????????????<input?type="checkbox"?v-model="hobbies"?value="喝酒">喝酒

????????????<input?type="checkbox"?v-model="hobbies"?value="抽煙">抽煙

????????????<input?type="checkbox"?v-model="hobbies"?value="打游戲">打游戲

????????????<input?type="checkbox"?v-model="hobbies"?value="敲代碼">敲代碼

????????????<input?type="checkbox"?v-model="hobbies"?value="打球">打球

?????????????{{hobbies}}

</p>


選擇器:選擇器使用v-model綁定數(shù)據(jù)city city的值和選擇器中option的value值相同時(shí)會選擇相同的option速缨,當(dāng)選擇元素時(shí)會把city中的值修改成自身的value

<p>選擇器:

????????????<select?v-model="city">

????????????????<option?value="北京">北京</option>

????????????????<option?value="上海">上海</option>

????????????????<option?value="南京">南京</option>

????????????????<option?value="蘇州">蘇州</option>

????????????</select>

????????????{{city}}

</p>


復(fù)數(shù)選擇器:復(fù)數(shù)選擇器使用v-model綁定一個(gè)數(shù)組仿粹,數(shù)組中是值與value中的值對應(yīng),數(shù)組中有則value對應(yīng)的選中

?<p>

????????????復(fù)數(shù)選擇器:

????????????<select?v-model="foods"?multiple>

????????????????<option?value="巧克力">巧克力</option>

????????????????<option?value="西瓜">西瓜</option>

????????????????<option?value="薯片">薯片</option>

????????????????<option?value="米飯">米飯</option>

????????????</select>

????????????{{foods}}

?</p>


2nd.?v-model的修飾符

.lazy

????在默認(rèn)情況下,v-model在每次input 事件觸發(fā)后將輸入框的值與數(shù)據(jù)進(jìn)行同步(除了上述輸入法組合文字時(shí))晌区⊥ㄕ辏可以添加lazy 修飾符,從而轉(zhuǎn)為在change事件之后進(jìn)行同步:

<!-- 在“change”時(shí)而非“input”時(shí)更新 -->

<input v-model.lazy="msg">

.number

????如果想自動將用戶的輸入值轉(zhuǎn)為數(shù)值類型昌罩,可以給?v-model?添加?number?修飾符,因?yàn)榧词乖?type="number"?時(shí),HTML 輸入元素的值也總會返回字符串银伟。如果這個(gè)值無法被?parseFloat()?解析彤避,則會返回原始的值琉预。

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

.trim

? ??如果要自動過濾用戶輸入的首尾空白字符圆米,可以給?v-model?添加?trim?修飾符:

<input v-model.trim="msg">


3rd.?綁定事件

?????v-on:指令用來綁定事件娄帖,簡寫為 @ 可以指定一個(gè)事件方法近速,事件方法要在methods里面定義。


指定事件方法時(shí)削葱,如果沒有給方法傳遞參數(shù)奖亚,默認(rèn)會傳遞一個(gè)事件對象參數(shù)

<button?@click="sayHi">sayHi</button>

如果我們傳遞了一個(gè)參數(shù),還想再傳遞事件對象參數(shù)析砸,就要通過$event關(guān)鍵字設(shè)置:

<buttonv-on:click="sayHello('你好',$event)">Say Hello</button>

如果事件處理的邏輯比較簡單昔字,可以直接在行內(nèi)編寫:

?????????<button?@click="num--">-</button>

????????{{num}}

????????<button?@click.once="num++">+</button>

4rd.事件修飾符

????在監(jiān)聽鍵盤事件時(shí),我們經(jīng)常需要檢查詳細(xì)的按鍵首繁。Vue 允許為?v-on?在監(jiān)聽鍵盤事件時(shí)添加按鍵修飾符:

<!-- 只有在 `key` 是 `Enter` 時(shí)調(diào)用 `vm.submit()` -->
<input v-on:keyup.enter="submit">

可以直接將?KeyboardEvent.key?暴露的任意有效按鍵名轉(zhuǎn)換為 kebab-case 來作為修飾符:

<input v-on:keyup.page-down="onPageDown">

為了在必要的情況下支持舊瀏覽器作郭,Vue 提供了絕大多數(shù)常用的按鍵碼的別名:

.enter

.tab

.delete?(捕獲“刪除”和“退格”鍵)

.esc

.space

.up

.down

.left

.right

5rd.深度響應(yīng)式

Vue 無法檢測 property 的添加或移除。由于 Vue 會在初始化實(shí)例時(shí)對 property 執(zhí)行 getter/setter 轉(zhuǎn)化蛮瞄,所以 property 必須在?data?對象上存在才能讓 Vue 將它轉(zhuǎn)換為響應(yīng)式的所坯。

對于已經(jīng)創(chuàng)建的實(shí)例,Vue 不允許動態(tài)添加根級別的響應(yīng)式 property挂捅。但是闲先,可以使用?Vue.set(object, propertyName, value)?方法向嵌套對象添加響應(yīng)式 property。例如:

Vue.set(vm.someObject, 'b', 2)

您還可以使用?vm.$set?實(shí)例方法,這也是全局?Vue.set?方法的別名:

this.$set(this.someObject,'b',2)

用delete方法,刪除指定對象的屬性或數(shù)組的成員

?Vue.delete(this.obj,'age')

您還可以使用?vm.$delete實(shí)例方法午绳,這也是全局?Vue.delete方法的別名:

this.$delete(this.obj,'age')

//?針對數(shù)組赎败,只能通過以下方法,才能實(shí)現(xiàn)響應(yīng)式:push()?pop()?unshift()?shift()?splice()?reverse()?sort()

如果不使用以上方法若河,那么也可以使用set和delete方法

// 這里set方法的參數(shù)分別是:指定的數(shù)組鲫忍,數(shù)組的下標(biāo),對應(yīng)的數(shù)據(jù)this.$set(this.arr,1,'蘋果')

// 這里的delete方法的參數(shù)分別是:指定的數(shù)組,數(shù)組的下標(biāo) this.$delete(this.arr,1)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窟绷,一起剝皮案震驚了整個(gè)濱河市拙友,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涉瘾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妖泄,居然都是意外死亡朋蔫,警方通過查閱死者的電腦和手機(jī)青扔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事饼疙“跛Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵隘道,是天一觀的道長。 經(jīng)常有香客問我,道長竞思,這世上最難降的妖魔是什么课梳? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上蛉幸,老公的妹妹穿的比我還像新娘隙笆。我一直安慰自己,他們只是感情好享言,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布浩考。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪景鼠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天肠骆,我揣著相機(jī)與錄音蚀腿,去河邊找鬼。 笑死驾讲,一個(gè)胖子當(dāng)著我的面吹牛时迫,可吹牛的內(nèi)容都是我干的溺欧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼梆靖,長吁一口氣:“原來是場噩夢啊……” “哼沐旨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起榨婆,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤磁携,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后良风,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颜武,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年拖吼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片这吻。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吊档,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唾糯,到底是詐尸還是另有隱情怠硼,我是刑警寧澤鬼贱,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站香璃,受9級特大地震影響这难,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜葡秒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一姻乓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧眯牧,春花似錦蹋岩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至版确,卻和暖如春扣囊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绒疗。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工侵歇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忌堂。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓盒至,卻偏偏與公主長得像,于是被迫代替她去往敵國和親士修。 傳聞我的和親對象是個(gè)殘疾皇子枷遂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容