vue 學(xué)習(xí)之?dāng)?shù)據(jù)雙向綁定

表單輸入綁定

不用v-model的情況下實現(xiàn)雙向綁定(v-on跃须、v-bind)

v-bind 將數(shù)據(jù)綁定到DOM節(jié)點上
v-on 數(shù)據(jù)改變炮沐,觸發(fā)事件,將DOM節(jié)點上的數(shù)據(jù)綁定到j(luò)s數(shù)據(jù)上

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
</head>
<body>
    <div id="app">      
        <input type="text" v-on:input="input" v-bind:value="value"/>
        <input type="text" v-on:input="input2" value="初始值"/>
    </div>
    <script>
        const app = new Vue({
            el: "#app",
            data: {                
                value: 'chen',
            },
            methods: {              
                input : function(event){
                    //IE 沒有target只有srcElement   Firefox正好相反              
                    let target = event.target || event.srcElement;
                    this.value = target.value;
                    //value的值變化時會重新刷新視圖  因此實現(xiàn)了雙向綁定
               },
               input2 : function(event){                         
                    let target = event.target || event.srcElement;
                    console.log(target.value);
                    /*
                     *  value 屬性為 input 元素設(shè)定值回怜。
                     *  type="text", "password", "hidden" - 定義輸入字段的初始值
                     *  
                     * 當(dāng)input框中的內(nèi)容有變化時target.value的值會變,但是檢查元素時value的值還是初始值
                     */
               }             
            }
        });    
    </script>    
</body>
</html>

雙向綁定 :v-model

<input v-model="searchText" />
<!--  相當(dāng)于 -->
<input  v-bind:value="searchText"
  v-on:input="searchText = $event.target.value" />
<div id="app">
   {{ value }} typeof {{ typeof value}}
   <input type="text" v-model="input" value="value"/>
    注意: v-model 會忽略所有表單元素的 value大年、checked、selected 特性的初始值
      而總是將 Vue 實例的數(shù)據(jù)作為數(shù)據(jù)來源玉雾。你應(yīng)該通過 JavaScript 在組件的 data 選項中聲明初始值翔试。
 </div>
 <script>
   const app = new Vue(
       el: "#app",
        data: {
             value:  'chen',
         },         
    });   
</script>


注意:對于需要使用輸入法 (如中文、日文复旬、韓文等) 的語言垦缅,你會發(fā)現(xiàn) v-model 不會在輸入法組合文字過程中得到更新。如果你也想處理這個過程驹碍,請使用 input 事件壁涎。
如圖:

image.png

修飾符

  • 1、.lazy
    在默認(rèn)情況下志秃,v-model 在每次 input 事件觸發(fā)后將輸入框的值與數(shù)據(jù)進(jìn)行同步 (除了輸入法組合文字時)怔球。你可以添加 lazy 修飾符,從而轉(zhuǎn)變?yōu)槭褂?change事件進(jìn)行同步(input框的change事件是input 框內(nèi)容變化 浮还,失去焦點的時候才會觸發(fā)竟坛;):
<!-- 在“change”時而非“input”時更新 -->
<input v-model.lazy="msg" >
  • 2、.number
    如果想自動將用戶的輸入值轉(zhuǎn)為數(shù)值類型钧舌,可以給 v-model 添加 number 修飾符:
<input v-model.number="age" type="number">

這通常很有用担汤,因為即使在 type="number" 時,HTML 輸入元素的值也總會返回字符串洼冻。如果這個值無法被 parseFloat() 解析崭歧,則會返回 原始 的值。

  • 2撞牢、.trim
    如果要自動過濾用戶輸入的首尾空白字符率碾,可以給 v-model 添加 trim 修飾符:
<input v-model.trim="msg">
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市普泡,隨后出現(xiàn)的幾起案子播掷,更是在濱河造成了極大的恐慌审编,老刑警劉巖撼班,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異垒酬,居然都是意外死亡砰嘁,警方通過查閱死者的電腦和手機(jī)件炉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矮湘,“玉大人斟冕,你說我怎么就攤上這事∶逖簦” “怎么了磕蛇?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長十办。 經(jīng)常有香客問我秀撇,道長,這世上最難降的妖魔是什么向族? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任呵燕,我火速辦了婚禮,結(jié)果婚禮上件相,老公的妹妹穿的比我還像新娘再扭。我一直安慰自己,他們只是感情好夜矗,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布泛范。 她就那樣靜靜地躺著,像睡著了一般紊撕。 火紅的嫁衣襯著肌膚如雪敦跌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天逛揩,我揣著相機(jī)與錄音柠傍,去河邊找鬼。 笑死辩稽,一個胖子當(dāng)著我的面吹牛惧笛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逞泄,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼患整,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喷众?” 一聲冷哼從身側(cè)響起各谚,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎到千,沒想到半個月后昌渤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡憔四,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年膀息,在試婚紗的時候發(fā)現(xiàn)自己被綠了般眉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡潜支,死狀恐怖甸赃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冗酿,我是刑警寧澤埠对,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站裁替,受9級特大地震影響鸠窗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胯究,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一稍计、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裕循,春花似錦臣嚣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至株婴,卻和暖如春怎虫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背困介。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工大审, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人座哩。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓徒扶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親根穷。 傳聞我的和親對象是個殘疾皇子姜骡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

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