Vue3父子組件傳參有關(guān)sync修飾符的用法詳解
單向數(shù)據(jù)流講解
單向數(shù)據(jù)流(堆可以修改,棧不可修改)
我們都知道, 父傳子的數(shù)據(jù), 是單向數(shù)據(jù)流,即子組件不能直接修改, 父組件傳遞過來的值
但實際上, 對于修改值, 真正是:基本數(shù)據(jù)類型不可修改,復雜數(shù)據(jù)類型不要修改引用地址(棧),它的值可以隨便修改
Vue2.x使用
定義事件的形式, 通知父組件修改
也就是最基礎(chǔ)的用法: props+$emit
寫法:
.sync 和 update: 的使用
父組件傳值的時候, 直接在變量后加 .sync
;
子組件 this.$emit("update:變量", 實參)
, 即可修改父組件傳遞的值;
寫法:
父傳子, 傳遞多個數(shù)據(jù)的簡寫
如果傳遞給子組件的值是多個數(shù)據(jù), 可以直接把多個數(shù)據(jù)包含在一個對象中, 借助v-bind;
注意:v-bind.sync=“doc”;
傳遞給子組件的不是doc對象;
而是對象中的每一個屬性.
寫法:
采用v-model簡寫(要求嚴格)
父組件: v-model
, 子組件: 接收的變量必須為value
, $emit提交的事件必須為input
寫法:
Vue3.x使用
采用 v-model
, 相對于2.x, 現(xiàn)在一個組件上可以使用多個v-model, 就是Vue2.x修飾符的用法
普通用法
父組件傳遞的時候使用v-model
, 子組件修改的時候用: emit("uodate: num", 實參)
寫法:
簡寫
當父組件傳遞給子組件的變量名為: modelValue
, 可以采用這種寫法
寫法:
以上就是Vue3父子組件傳參有關(guān)sync修飾符的用法詳解的詳細內(nèi)容,更多關(guān)于Vue3父子組件傳參的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue首屏加載過慢出現(xiàn)長時間白屏的實現(xiàn)
本文主要介紹了Vue首屏加載過慢出現(xiàn)長時間白屏的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04Vue3中內(nèi)置組件Teleport的基本使用與典型案例
Teleport是一種能夠?qū)⑽覀兊哪0逡苿拥紻OM中Vue app之外的其他位置的技術(shù),下面這篇文章主要給大家介紹了關(guān)于Vue3中內(nèi)置組件Teleport的基本使用與典型案例的相關(guān)資料,需要的朋友可以參考下2023-04-04詳解vue2.0+vue-video-player實現(xiàn)hls播放全過程
這篇文章主要介紹了詳解vue2.0+vue-video-player實現(xiàn)hls播放全過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Vue使用Three.js創(chuàng)建交互式3D場景的全過程
在現(xiàn)代Web開發(fā)中,通過在頁面中嵌入3D場景,可以為用戶提供更加豐富和交互性的體驗,Three.js是一款強大的3D JavaScript庫,它簡化了在瀏覽器中創(chuàng)建復雜3D場景的過程,本文將介紹如何在Vue中使用Three.js,創(chuàng)建一個簡單的交互式3D場景,需要的朋友可以參考下2023-11-11