最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方式講解

 更新時(shí)間:2022年08月29日 16:08:35   作者:丘比特懲罰陸  
Vue數(shù)據(jù)雙向綁定原理:Vue內(nèi)部通過(guò)Object.defineProperty方法屬性攔截的方式,把data對(duì)象里每個(gè)數(shù)據(jù)的讀寫(xiě)轉(zhuǎn)化成getter/setter,當(dāng)數(shù)據(jù)變化時(shí)通知視圖更新

前言

在web開(kāi)發(fā)應(yīng)用中,很多項(xiàng)目都會(huì)用到表格一列的組件進(jìn)行數(shù)據(jù)的傳輸、獲取和提交,在開(kāi)發(fā)使用中,表格類(lèi)組件數(shù)據(jù)的傳輸,我們一般可以使用v-model將輸入的數(shù)據(jù)同步到data屬性中,這個(gè)指令可以為不同的輸入元素使用不同的屬性,這個(gè)指令一般在form表單中的input等等元素上面來(lái)創(chuàng)建雙向的數(shù)據(jù)綁定。

一、input和textarea

在vue實(shí)戰(zhàn)項(xiàng)目中,vue里面的data屬性可以和input、textarea元素進(jìn)行數(shù)據(jù)綁定。簡(jiǎn)單的解釋就是比如input這個(gè)事件被觸發(fā)的時(shí)候,value里面的數(shù)據(jù)就可以將數(shù)據(jù)聽(tīng)不到Script里面的data數(shù)據(jù)中;當(dāng)綁定的data數(shù)據(jù)發(fā)生改變的時(shí)候,也會(huì)實(shí)時(shí)的同步到value當(dāng)中,從而就可以實(shí)現(xiàn)雙向數(shù)據(jù)綁定。

我們可以通過(guò)代碼進(jìn)行驗(yàn)證,如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>數(shù)據(jù)雙向綁定</title>
</head>
<body>
    <div id="app">
<p>姓名:
    <input type="text" v-model="userInfo.xingming">
</p>
<p>郵箱:
    <input type="text" v-model="userInfo.youxiang">
</p>
<p>簡(jiǎn)歷:
    <textarea name="" id="" cols="30" rows="10" v-model="userInfo.jianli"></textarea>
</p>
<p>姓名:{{userInfo.xingming}}</p>
<p>郵箱:{{userInfo.youxiang}}</p>
<p>簡(jiǎn)歷:{{userInfo.jianli}}</p>
    </div>
    <script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                userInfo:{
                    xingming:'',
                    youxiang:'',
                    jianli:"編寫(xiě)你的簡(jiǎn)歷:"
                }
            }
        })
    </script>
</body>
</html>

運(yùn)行結(jié)果:

二、radio和CheckBox

在vue實(shí)戰(zhàn)中,這兩個(gè)元素也和input和textarea元素一樣,都是和data屬性一樣,選擇數(shù)據(jù)綁定,而且CheckBox就是多選元素,可以選擇多個(gè)value,可以在data里面使用一個(gè)數(shù)組進(jìn)行綁定。只要change事件得到觸發(fā),value屬性可以同步到data里面;當(dāng)綁定vue里面的數(shù)據(jù)改變的時(shí)候,就會(huì)同步到check里面,從而實(shí)現(xiàn)數(shù)據(jù)的雙向綁定。我們還是通過(guò)簡(jiǎn)單的代碼實(shí)例來(lái)看一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>數(shù)據(jù)雙向綁定</title>
</head>
<body>
    <div id="app">
<p>性別:
    <input type="radio" v-model="userinfo.sex" name="sex" value="男">男
    <input type="radio" v-model="userinfo.sex" name="sex" value="女">女
</p>
<p>愛(ài)好:
    <input type="checkbox" v-model="userinfo.hobby" value="唱"/>唱
    <input type="checkbox" v-model="userinfo.hobby" value="跳"/>跳
    <input type="checkbox" v-model="userinfo.hobby" value="rap"/>rap
    <input type="checkbox" v-model="userinfo.hobby" value="籃球"/>籃球
</p>
<p>練習(xí)生與否:
    <input type="checkbox" v-model="userinfo.lianxisheng" value="練習(xí)生">
</p>
<p>性別:{{userinfo.sex}}</p>
<p>愛(ài)好:{{userinfo.hobby}}</p>
<p>練習(xí)生與否:{{userinfo.lianxisheng}}</p>
    </div>
    <script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                userinfo:{
                    sex:'男',
                    hobby:'【】',
                    lianxisheng:" "
                }
            }
        })
    </script>
</body>
</html>

三、select

select元素也是使用了value屬性和vue里面的data屬性進(jìn)行屬性綁定,當(dāng)change事件觸發(fā)的時(shí)候,value的值就會(huì)同步到vue里面的數(shù)據(jù),當(dāng)綁定的vue數(shù)據(jù)改變的時(shí)候,也會(huì)同步到value,也從而實(shí)現(xiàn)數(shù)據(jù)的雙向綁定。代碼實(shí)例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>數(shù)據(jù)雙向綁定</title>
</head>
<body>
    <div id="app">
<p>學(xué)歷:
<select name="" id="" v-model="xueli">
    <option value="本科">本科</option>
    <option value="碩士">碩士</option>
    <option value="博士">博士</option>
    <option value="博士后">博士后</option>
</select>
</p>
<p>{{xueli}}</p>
    </div>
    <script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
xueli:"本科"
            }
        })
    </script>
</body>
</html>

結(jié)果:

四、雙向綁定的修飾符

這里介紹幾個(gè)雙向綁定的數(shù)據(jù)修飾符。

1、lazy

默認(rèn)情況下, v-model在每次innut事件觸發(fā)后將輸入框的值與數(shù)據(jù)進(jìn)行同步;添加lazy后,只有在enter和輸入框(失焦點(diǎn))的時(shí)候,數(shù)據(jù)才能實(shí)現(xiàn)同步。

2、number

如果要將用戶(hù)的輸入值自動(dòng)地轉(zhuǎn)為數(shù)字類(lèi)型,可以給 v-model添加.number修飾但v-model.number 只能輸入數(shù)字

3、trim

如果要自動(dòng)地過(guò)濾用戶(hù)輸入的首尾空白字符,可以給 v-model添加.trim 修飾符,V-model.trim可以去除前后空格。

我們還還還是通過(guò)代碼實(shí)例來(lái)簡(jiǎn)單的了解一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>數(shù)據(jù)雙向綁定</title>
</head>
<body>
    <div id="app">
<h1>1、數(shù)據(jù):{{val1}}</h1>
<input type="text" v-model.lazy="val1">
<h1>2、數(shù)據(jù):{{val2}}</h1>
<input type="text" v-model.number="val2">
<h1>3、數(shù)據(jù):{{val3}}</h1>
<input type="text" v-model.trim="val3">
    </div>
    <script src="http://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <script>
var m = {
    val1:1,
    val2:2,
    val3:''
};
var vm = new Vue({
    el:'#app',
    data:m,
})
    </script>
</body>
</html>

運(yùn)行結(jié)果:

在第一個(gè)框輸入數(shù)據(jù)的時(shí)候,輸入框的值和數(shù)據(jù)因?yàn)闆](méi)有數(shù)據(jù)和它進(jìn)行同步顯示,所以當(dāng)光標(biāo)移到第二個(gè)框的時(shí)候,第一個(gè)框就會(huì)引起失焦,這個(gè)時(shí)候就可以顯示出原本輸入的文字,因?yàn)閘azy只有在enter和失焦的時(shí)候,數(shù)據(jù)才能進(jìn)行同步;在第二個(gè)框每次輸入輸入一個(gè)數(shù)值就可以同步顯示;第三個(gè)先是輸入幾個(gè)空格,然后在輸入數(shù)值,只有數(shù)值才能同步,而輸入的空格就會(huì)唄忽視掉,因?yàn)閠rim可以去除前后空格。

到此這篇關(guān)于Vue數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方式講解的文章就介紹到這了,更多相關(guān)Vue數(shù)據(jù)雙向綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3使用中這些坑你都踩過(guò)嗎

    Vue3使用中這些坑你都踩過(guò)嗎

    Vue3?目前已經(jīng)趨于穩(wěn)定,不少代碼庫(kù)都已經(jīng)開(kāi)始使用它,很多項(xiàng)目未來(lái)也必然要遷移至Vue3,本文記錄了使用Vue3時(shí)遇到的一些問(wèn)題,希望能對(duì)大家有所幫助
    2023-09-09
  • 詳解Vue?自定義hook?函數(shù)

    詳解Vue?自定義hook?函數(shù)

    這篇文章主要介紹了詳解Vue自定義hook函數(shù),hook函數(shù)本質(zhì)是一個(gè)函數(shù),把setup函數(shù)中使用的Composition?API進(jìn)行了封裝,更多相關(guān)內(nèi)容感興趣的朋友可以參考一下
    2022-06-06
  • 深入淺析Vue.js計(jì)算屬性和偵聽(tīng)器

    深入淺析Vue.js計(jì)算屬性和偵聽(tīng)器

    這篇文章主要介紹了Vue.js計(jì)算屬性和偵聽(tīng)器的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 詳解vue-admin和后端(flask)分離結(jié)合的例子

    詳解vue-admin和后端(flask)分離結(jié)合的例子

    本篇文章主要介紹了詳解vue-admin和后端(flask)分離結(jié)合的例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Vue 樣式切換及三元判斷樣式關(guān)聯(lián)操作

    Vue 樣式切換及三元判斷樣式關(guān)聯(lián)操作

    這篇文章主要介紹了Vue 樣式切換及三元判斷樣式關(guān)聯(lián)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 簡(jiǎn)單理解vue中實(shí)例屬性vm.$els

    簡(jiǎn)單理解vue中實(shí)例屬性vm.$els

    這篇文章主要幫助大家簡(jiǎn)單理解vue中實(shí)例屬性vm.$els,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題

    Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題

    這篇文章主要介紹了Vue ElementUI之Form表單驗(yàn)證遇到的問(wèn)題,需要的朋友可以參考下
    2017-08-08
  • Vue中列表渲染指令v-for的基本用法詳解

    Vue中列表渲染指令v-for的基本用法詳解

    v-for指令是在模板編譯的代碼生成階段實(shí)現(xiàn)的,當(dāng)遍歷數(shù)組或?qū)ο髸r(shí)需要使用列表渲染指令v-for。本文主要為大家介紹了v-for指令的基本用法,希望對(duì)大家有所幫助
    2023-04-04
  • Vue組件文檔生成工具庫(kù)的方法

    Vue組件文檔生成工具庫(kù)的方法

    本文主要介紹了Vue組件文檔生成工具庫(kù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Vue3 編寫(xiě)自定義指令插件的示例代碼

    Vue3 編寫(xiě)自定義指令插件的示例代碼

    這篇文章主要介紹了Vue3 編寫(xiě)自定義指令插件的示例代碼,主要包括編寫(xiě)自定義插件,在 main.ts 中加載啟用插件的代碼介紹,對(duì)Vue3自定義指令插件相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-07-07

最新評(píng)論

双流县| 会泽县| 隆回县| 廊坊市| 鄂尔多斯市| 嘉祥县| 射洪县| 巨鹿县| 德钦县| 马关县| 松潘县| 东阿县| 和平区| 南溪县| 闵行区| 兴隆县| 贵溪市| 禹城市| 麟游县| 峨边| 武宁县| 临泽县| 昌都县| 辽源市| 禄劝| 大洼县| 海林市| 旬邑县| 太康县| 民乐县| 六枝特区| 陵川县| 田东县| 文山县| 湖北省| 安远县| 宜州市| 陆河县| 奇台县| 齐河县| 桃源县|