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

Vue重要修飾符.sync對(duì)比v-model的區(qū)別及使用詳解

 更新時(shí)間:2022年07月26日 16:35:42   作者:前端新猿努力成長(zhǎng)  
這篇文章主要為大家介紹了Vue中重要修飾符.sync與v-model的區(qū)別對(duì)比及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Vue 中的雙向綁定

上一節(jié)中我們已經(jīng)討論過Vue中并沒有真正的雙向綁定。Vue中的 props等數(shù)據(jù)是單向流動(dòng)的,由父級(jí)至子級(jí)向下綁定的,即:每次父組件更新時(shí),子組件中的所有 props 都會(huì)刷新為最新的值。如果在子組件中修改 props ,Vue會(huì)向你發(fā)出一個(gè)警告,且并不能通過修改子組件的數(shù)據(jù)來更改父組件的數(shù)據(jù))。

如果有需求,我們可以在父組件中,子組件的標(biāo)簽上聲明一個(gè)監(jiān)聽事件,在子組件想要修改數(shù)據(jù)時(shí)使用$emit觸發(fā)事件并傳入新的值,通知父組件進(jìn)行修改。這就可以實(shí)現(xiàn)某種程度上的雙向綁定。

真正的雙向綁定會(huì)帶來維護(hù)上的問題,因?yàn)樽咏M件可以變更父組件,且在父組件和子組件兩側(cè)都沒有明顯的變更來源。Vue 團(tuán)隊(duì)推薦以 update:myPropName 的模式觸發(fā)事件取代直接修改的操作。這就用到了 .sync 修飾符。

Vue 中的 .syc 修飾符

自定義組件中,v-bind命令的 .sync 修飾符同 v-model 一樣,其實(shí)本質(zhì)上都是Vue的語法糖,用于實(shí)現(xiàn)父子組件間接的數(shù)據(jù)雙向綁。需要注意的一點(diǎn)是,Vue3 中已經(jīng)不再有 .sync 修飾符了,新的 v-model 取代了 Vue2 中的 v-model 和 .sync 修飾符。本文作為 Vue 入門的心得總結(jié),這里討論的是 Vue2中 的 .sync 修飾符。

一言以蔽之,v-bind命令的.sync 修飾符實(shí)質(zhì)就是父組件監(jiān)聽子組件更新某個(gè)props的請(qǐng)求的縮寫語法,一種語法糖。

如:

<Child v-bind:title.sync="title" />

完全等價(jià)于:

<Child
  v-bind:title="title"
  v-on:update:title="title = $event"
></Child>

與之配合,在子組件中,需要添加下面這段代碼來通知父組件對(duì)這個(gè)prop重新賦值:

this.$emit('update:title', newTitle)

這一個(gè) $emit 可以通過綁定事件觸發(fā),也可以使用 watch 監(jiān)聽等方式來觸發(fā)。

此外,當(dāng)我們用一個(gè)對(duì)象 obj 同時(shí)設(shè)置多個(gè) prop 的時(shí)候,也可以將這個(gè) .sync 修飾符和 v-bind 配合使用:

<Son v-bind.sync="obj"></Son>
data(){
        return {
            obj:{read:true, name:'', title:'', length:''}
        }
    },

這樣會(huì)把 obj 對(duì)象中的每一個(gè) property (如 title) 都作為一個(gè)獨(dú)立的 prop 傳進(jìn)去,然后各自添加用于更新的 v-on 監(jiān)聽器。

.sync 使用注意事項(xiàng)

需要注意,帶有 .sync 修飾符的 v-bind命令 不能 和表達(dá)式一起使用
(例如 :title.sync=”doc.title + ‘!’” 是無效的)。

你只能提供你想要綁定的 property 名,類似 v-model。

另外還需要注意將 v-bind.sync 用在一個(gè)字面量的對(duì)象上,例如 v-bind.sync=”{ title: doc.title }”,是無法正常工作的,因?yàn)樵诮馕鲆粋€(gè)像這樣的復(fù)雜表達(dá)式的時(shí)候,有很多邊緣情況需要考慮。

.sync 與 v-model的比較

.sync 從功能上看和 v-model 十分相似,都是為了實(shí)現(xiàn)數(shù)據(jù)的“雙向綁定”,本質(zhì)上,也都不是真正的雙向綁定,而是語法糖,這是他們的相同之處。

但相比較之下,.sync 更加靈活,它可以在一個(gè)組件內(nèi)給多個(gè) prop 使用,而 v-model 在一個(gè)組件中只能有一個(gè) prop ,在 Vue2 中是這樣。

需要注意,Vue3中 v-model 已經(jīng)可以給多個(gè)prop使用了 

從語法的內(nèi)容來看,v-model 綁定的值和觸發(fā)的事件是較為固定的,根據(jù)不同類型的特定組件有對(duì)應(yīng)的綁定值和事件,比如 input 組件,select 組件等表單組件,日期時(shí)間選擇組件,顏色選擇器組件等,這些組件所綁定的值使用 v-model 比較合適。

其他情況下,需要父子組件之間數(shù)據(jù)相互更新,還是使用 .sync。.sync 針對(duì)更多的是各種的狀態(tài)變更,在父子組件之間互相傳遞,是一種 update 操作。

以上就是Vue重要修飾符.sync對(duì)比v-model的區(qū)別及使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue修飾符.sync v-model的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文詳解如何在vue中實(shí)現(xiàn)文件預(yù)覽功能

    一文詳解如何在vue中實(shí)現(xiàn)文件預(yù)覽功能

    很多Vue項(xiàng)目中都需要PDF文件預(yù)覽功能,比如合同ERP,銷售CRM,內(nèi)部文檔CMS管理系統(tǒng),內(nèi)置PDF文件在線預(yù)覽功能,下面這篇文章主要給大家介紹了關(guān)于如何在vue中實(shí)現(xiàn)文件預(yù)覽功能的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • vue+video.js實(shí)現(xiàn)視頻播放列表

    vue+video.js實(shí)現(xiàn)視頻播放列表

    這篇文章主要為大家詳細(xì)介紹了vue+video.js實(shí)現(xiàn)視頻播放列表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 如何在Vue3項(xiàng)目中操作MySQL數(shù)據(jù)庫(kù)

    如何在Vue3項(xiàng)目中操作MySQL數(shù)據(jù)庫(kù)

    在Vue3項(xiàng)目中使用axios發(fā)送HTTP請(qǐng)求與后端MySQL數(shù)據(jù)庫(kù)交互的步驟:1. 安裝MySQL數(shù)據(jù)庫(kù)并創(chuàng)建數(shù)據(jù)庫(kù)表;2. 后端服務(wù)器使用Node.js的mysql模塊實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)操作接口;3. Vue3項(xiàng)目中使用axios調(diào)用這些接口進(jìn)行數(shù)據(jù)交互
    2024-11-11
  • Vue Object 的變化偵測(cè)實(shí)現(xiàn)代碼

    Vue Object 的變化偵測(cè)實(shí)現(xiàn)代碼

    這篇文章主要介紹了Vue Object的變化偵測(cè)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 簡(jiǎn)單聊聊vue2.x的$attrs和$listeners

    簡(jiǎn)單聊聊vue2.x的$attrs和$listeners

    vue組件之間的通信方式有很多種,props/emit,event bus,vuex,provide/inject等,還有一種通信方式就是$attrs和$listeners,下面這篇文章主要給大家介紹了關(guān)于vue2.x中$attrs和$listeners的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)4

    Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)4

    這篇文章主要介紹了Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)的相關(guān)資料,介紹了Array的變異方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • vue將文件/圖片批量打包下載zip的教程

    vue將文件/圖片批量打包下載zip的教程

    這篇文章主要介紹了vue將文件/圖片批量打包下載zip的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue computed計(jì)算屬性顯示undefined的解決

    vue computed計(jì)算屬性顯示undefined的解決

    這篇文章主要介紹了vue computed計(jì)算屬性顯示undefined的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue elementui table編輯表單時(shí)彈框增加編輯明細(xì)數(shù)據(jù)的實(shí)現(xiàn)

    vue elementui table編輯表單時(shí)彈框增加編輯明細(xì)數(shù)據(jù)的實(shí)現(xiàn)

    在Vue項(xiàng)目中,通過使用Element UI框架實(shí)現(xiàn)表單及其明細(xì)數(shù)據(jù)的新增和編輯操作,主要通過彈窗形式進(jìn)行明細(xì)數(shù)據(jù)的增加和編輯,有效提升用戶交互體驗(yàn),本文詳細(xì)介紹了相關(guān)實(shí)現(xiàn)方法和代碼,適合需要在Vue項(xiàng)目中處理復(fù)雜表單交互的開發(fā)者參考
    2024-10-10
  • 案例實(shí)操vue事件修飾符帶你快速了解與應(yīng)用

    案例實(shí)操vue事件修飾符帶你快速了解與應(yīng)用

    這篇文章主要介紹了vue常見的事件修飾符,在平時(shí)無論是面試還是學(xué)習(xí)工作中都會(huì)經(jīng)常遇到的,本文就帶你快速上手,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

绥德县| 新建县| 建阳市| 邢台县| 兴山县| 车险| 始兴县| 莆田市| 海口市| 新河县| 康保县| 抚宁县| 澎湖县| 亚东县| 和田县| 陇川县| 安顺市| 湘乡市| 东丰县| 平谷区| 和顺县| 拉孜县| 白银市| 建水县| 临湘市| 怀宁县| 连南| 兴义市| 鹿泉市| 福鼎市| 岫岩| 桃源县| 象州县| 黄浦区| 康乐县| 富民县| 海城市| 汉川市| 丹阳市| 汕尾市| 米林县|