Vue基礎(chǔ)篇(六)

本教程分為三部分 : 基礎(chǔ) 進(jìn)階 實戰(zhàn) 迫像,深入淺出Vue.js
基礎(chǔ)篇持續(xù) 更新中........

第六章 表單與v--model

基本用法:
------- v--model:

Vue提供了v--model指令, 用于在表單類元素上雙向綁定事件
一個小栗子

<div id="app">
        v-model:用法
        <input type="text" v-model='value'>
        <br> {{value}}
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                value: ''
            }
        })
    </script>

效果圖:

效果圖

inputtextarea
可以用于input框均唉,以及textarea
注意: 所顯示的值只依賴于所綁定的數(shù)據(jù)是晨,不再關(guān)心初始化時的插入的value

 <div id="app">
        v-model:用法
        <input type="text" v-model='value'>
        <br> {{value}}
        <br>
        <hr>
<!-- 所顯示的值只依賴于所綁定的數(shù)據(jù),不再關(guān)心初始化時的插入的`value` -->
        <textarea name="" id="" cols="30" rows="10" v-model='msg'>我是多行文本的初始化值</textarea>
        <br> {{msg}}
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                value: '',
                msg: ''
            }
        })
    </script>

單選按鈕:

  1. 單個單選按鈕舔箭,直接用v--bind綁定一個布爾值罩缴,用v--model是不可以的
  2. 如果是組合使用,就需要v--model來配合value使用层扶,綁定選中的單選框的value值箫章,此處所綁定的初始值可以隨意給.
    舉個小栗子:
<div id="app">
        v-model:用法
        <input type="text" v-model='value'>
        <br> {{value}}
        <br>
        <hr>
        <!-- 所顯示的值只依賴于所綁定的數(shù)據(jù),不再關(guān)心初始化時的插入的`value` -->
        <textarea name="" id="" cols="30" rows="2" v-model='msg'>我是多行文本的初始化值</textarea>
        <br> {{msg}}
        <hr>
        <br> 單選框:
        <br> 單個單選框 :<input type="radio" v-bind:checked='oneradio'>
        <br>
        <hr> 多個單選框
        <br> 狗蛋: <input type="radio" name="checks" value='狗蛋' v-model='checkname'><br> 毛蛋: <input type="radio" name="checks" value='毛蛋' v-model='checkname'><br> 翠花:<input type="radio" name="checks" value='翠花' v-model='checkname'>
        <br>現(xiàn)在選中的是--------->{{checkname}}
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                value: '',
                msg: '',
                oneradio: false,
                //想要初始化選中  就賦值一個 input中的 value  不賦值就都不選 隨便
                checkname: '毛蛋'
            }
        })
    </script>

復(fù)選框:

  1. 單個復(fù)選框镜会,直接用定一個布爾值檬寂,可以用v--model可以用v--bind
    2.多個復(fù)選框– 如果是組合使用,就需要v--model來配合value使用戳表,v-model綁定一個數(shù)組—如果綁定的是字符串桶至,則會轉(zhuǎn)化為true/false拿诸,與所有綁定的復(fù)選框的
    checked屬性相對應(yīng).
    舉個栗子:
 <div id="app">
        <br> 單選框:
        <!-- 注意此處用v-model不生效 <input type="radio" v-model='oneradio'>-->
        <br> 單個單選框 ----v-bind:<input type="radio" v-bind:checked='oneradio'>
        <br>
        <hr> 多個單選框
        <br> 狗蛋: <input type="radio" name="checks" value='狗蛋' v-model='checkname'><br> 毛蛋: <input type="radio" name="checks" value='毛蛋' v-model='checkname'><br> 翠花:<input type="radio" name="checks" value='翠花' v-model='checkname'>
        <br>現(xiàn)在選中的是--------->{{checkname}}
        <br>
        <hr> 復(fù)選框:
        <br>單個復(fù)選框-----v-bind
        <input type="checkbox" v-bind:checked='oneradio'>
        <br> 單個復(fù)選框-----v-model
        <input type="checkbox" v-model='oneradio'>
        <hr><br> 多個復(fù)選框:
        <br> 毛蛋:
        <input type="checkbox" value="毛蛋" v-model='checks'>
        <br> 狗蛋:
        <input type="checkbox" value="狗蛋" v-model='checks'>
        <br> 翠花:
        <input type="checkbox" value="翠花" v-model='checks'>
        <br>現(xiàn)在選中的是---------{{checks}}

    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: { 
                oneradio: false,
                //想要初始化選中  就賦值一個 input中的 value  不賦值就都不選 隨便
                checkname: '毛蛋',
                //如果只字符串就默認(rèn)轉(zhuǎn)化為true/false
                checks: []
            }
        })
    </script>

下拉框:

  • 如果是單選,所綁定的value值初始化可以為數(shù)組塞茅,也可以為字符串,有value直接優(yōu)先匹配一個value值季率,沒有value就匹配一個text
  • 如果是多選野瘦,就需要v-model來配合value使用,v--model綁定一個數(shù)組飒泻,與復(fù)選框類似
  • v--model一定是綁定在select標(biāo)簽上
  <div id="app">
      單選的下拉框:
        <select name="" id="" v-model="selectde">
            <option value="狗蛋">狗蛋</option>
            <option value="毛蛋">毛蛋</option>
            <option value="翠花">翠花</option>
        </select>
        <br> 現(xiàn)在選中的是:{{selectde}}
        <hr> 多選的下拉框:
        <select name="" id="" v-model="selectdenull" multiple>
            <option value="狗蛋">狗蛋</option>
            <option value="毛蛋">毛蛋</option>
            <option value="翠花">翠花</option>
        </select>
        <br> 現(xiàn)在選中的是:{{selectdenull}}

    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                // 如果是單選鞭光,所綁定的value值初始化可以為數(shù)組,也可以為字符串泞遗,有value直接優(yōu) 先匹配一個value值惰许, 沒有value就匹配一個text值
                selectde: [],
                selectdenull: ''
            }
        })
    </script>

小結(jié)一下 : 如果是單選,初始化最好給定字符串史辙,因為v--model此時綁定的是靜態(tài)字符串或者布爾值汹买,如果是多選,初始化最好給定一個數(shù)組.

綁定值

單選按鈕
只需要用v--bind給單個單選框綁定一個value值聊倔,此時晦毙,v--model綁定的就是他的value
復(fù)選框
下拉框
select標(biāo)簽上綁定value值對option并沒有影響
看例子

 <div id="app" style="margin-bottom: 100px">
        綁定值:
        <br> 單選按鈕 :
        <!-- 只需要用v-bind給單個單選框綁定一個value值,此時耙蔑,v-model綁定的就是他的value值 -->
        <input type="radio" v-model="picked" v-bind:value='value'>-------{{picked}}
        <br>-------------------------------------- <br> 多選按鈕:需求 選中不選中的value不一樣
        <input type="checkbox" v-model="toggle" :true-value="value1" :false-value="value2">
        <br> {{toggle}}
        <br> 被選中:-{{toggle == value1}}
        <br> 位被選中:--{{toggle == value2}}
        <br>--------------------------------------<br> 下拉框:
        <select v-model='valueselect'>
            <option :value="{num:111}">狗蛋</option>
        </select>--------------現(xiàn)在選中的是{{typeof valueselect}} {{valueselect.num}}
        <br>--------------------------------------<br> 修飾符
        <input type="text" v-model="inputStr"> <br>---------{{inputStr}}
        <br>
        <input type="text" v-model.lazy="inputStr"> <br>---------{{inputStr}}
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                value: '',
                msg: '',
                oneradio: false,
                //想要初始化選中  就賦值一個 input中的 value  不賦值就都不選 隨便
                checkname: '毛蛋',
                //如果只字符串就默認(rèn)轉(zhuǎn)化為true/false
                checks: [],
                // 如果是單選见妒,所綁定的value值初始化可以為數(shù)組,也可以為字符串甸陌,有value直接優(yōu) 先匹配一個value值须揣, 沒有value就匹配一個text值
                selectde: '',
                selectdenull: [],
                //單選按鈕綁定v-model是不行的
                picked: true,
                value: 1111,
                toggle: true,
                value1: '我被選中',
                value2: '位被選中',
                valueselect: '',
                inputStr: ' '

            }
        })
    </script>

修飾符

lazy

  • ——v--model默認(rèn)是在input輸入時實時同步輸入框的數(shù)據(jù),而lazy修飾符钱豁,可以使其在失去焦點或者敲回車鍵之后在更新

number

  • —————— 將輸入 的字符串轉(zhuǎn)化為number類型

trim
*trim自動過濾輸入過程中收尾輸入的空格
看栗子:

<div id="app" style="margin-bottom: 100px">
     修飾符
        <input type="text" v-model="inputStr"> <br>---------{{inputStr}}
        <br> lazy:
        <input type="text" v-model.lazy="inputStr"> <br>---------{{inputStr}}
        <br> number : <br>
        <input type="text" v-model.number="isnum"> <br>---------{{typeof isnum}}
        <br> trim : <br>
        <input type="text" v-model="trimStr"> <br>---------{{trimStr.split('').length}}
        <!-- 加上修飾符對比一下 --><br>
        <input type="text" v-model.trim="trimStr1"> <br>---------{{trimStr1.split('').length}}


    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                inputStr: ' ',
                isnum: '',
                trimStr: '',
                trimStr1: ''

            }
        })
    </script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耻卡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寥院,更是在濱河造成了極大的恐慌劲赠,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秸谢,死亡現(xiàn)場離奇詭異凛澎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)估蹄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門塑煎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人臭蚁,你說我怎么就攤上這事最铁”薮铮” “怎么了祭示?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我梳玫,道長,這世上最難降的妖魔是什么艇拍? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任眠蚂,我火速辦了婚禮,結(jié)果婚禮上雾棺,老公的妹妹穿的比我還像新娘膊夹。我一直安慰自己,他們只是感情好捌浩,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布放刨。 她就那樣靜靜地躺著,像睡著了一般尸饺。 火紅的嫁衣襯著肌膚如雪进统。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天浪听,我揣著相機(jī)與錄音麻昼,去河邊找鬼。 笑死馋辈,一個胖子當(dāng)著我的面吹牛抚芦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迈螟,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼叉抡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了答毫?” 一聲冷哼從身側(cè)響起褥民,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洗搂,沒想到半個月后消返,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡耘拇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年撵颊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惫叛。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡倡勇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嘉涌,到底是詐尸還是另有隱情妻熊,我是刑警寧澤夸浅,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站扔役,受9級特大地震影響帆喇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亿胸,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一番枚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧损敷,春花似錦、人聲如沸深啤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溯街。三九已至诱桂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呈昔,已是汗流浹背挥等。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留堤尾,地道東北人肝劲。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像郭宝,于是被迫代替她去往敵國和親辞槐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

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

  • 主要還是自己看的粘室,所有內(nèi)容來自官方文檔榄檬。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,353評論 0 25
  • 一衔统、了解Vue.js 1.1.1 Vue.js是什么鹿榜? 簡單小巧、漸進(jìn)式锦爵、功能強(qiáng)大的技術(shù)棧 1.1.2 為什么學(xué)習(xí)...
    蔡華鵬閱讀 3,325評論 0 3
  • 1. Vue 實例 1.1 創(chuàng)建一個Vue實例 一個 Vue 應(yīng)用由一個通過 new Vue 創(chuàng)建的根 Vue 實...
    王童孟閱讀 1,021評論 0 2
  • vue概述 在官方文檔中舱殿,有一句話對Vue的定位說的很明確:Vue.js 的核心是一個允許采用簡潔的模板語法來聲明...
    li4065閱讀 7,227評論 0 25
  • Vue.js特性:漸進(jìn)式技術(shù)棧 輕量級的框架 雙向數(shù)據(jù)綁定 指令 插件化 Vue實例書寫模板: 訪問Vue實例的屬...
    貓曉封浪閱讀 1,353評論 0 0