在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    「 VUE3 + TS + Vite 」父子組件間如何通信?

    組件之間傳值,大家都很熟悉,涉及到 VUE3 +TS 好多同學(xué)就無從下手了,所以分享這篇文章,希望看完后提起 VUE3+TS 能夠不慌不忙。

    平時使用的函數(shù)如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介紹的 defineProps、withDefaults、defineEmits、defineExpose 都是開箱即用的函數(shù),無需引入。

    父向子傳值:defineProps

    在父組件內(nèi)給子組件傳值時,通過 v-bind 綁定一個數(shù)據(jù),然后子組件使用 defineProps 接收數(shù)據(jù)。

    可以傳遞的數(shù)據(jù)有兩種:字符串類型 和 非字符串類型。字符串類型不需要 v-bind,非字符串需要使用 v-bind,可以簡寫成冒號(:)。

    /* 父組件代碼 */ 父組件

    子組件接收的時候使用 defineProps,需要注意的是我們使用 TS 需要加類型限制,如果不是 TS 的可以直接使用。

    TS 語法使用:

    defineProps()

    非 TS 語法使用:

    defineProps({title: { default: “”, type: string }, list: Array})

    對應(yīng)上邊父組件傳值,使用 TS 語法接收的子組件代碼為:

    子組件 {{ title }} {{ list }}

    默認值:withDefaults

    在非 TS 語法中,default 可以設(shè)置默認值,在 TS 語法中,如何設(shè)置默認值呢?

    withDefaults 是一個無需引入開箱即用的函數(shù),可以接收兩個參數(shù),第一個用于defineProps 接收參數(shù),第二個參數(shù)是一個對象用于設(shè)置默認值。

    使用方式1:分離模式

    type Props = {title?: string; list?: number[]}withDefaults(defineProps(), {title: “默認值”, list: () => [1, 2]})

    使用方式2:組合模式

    widthDefault(defineProps(), {title: “默認值”, list: () => [1, 2]})

    給上邊的子組件添加默認值代碼如下:

    子組件 {{ title }} {{ list }}

    將父組件中傳的值刪除掉之后,發(fā)現(xiàn)設(shè)置的默認值就展示出來了。

    子向父傳值:defineEmits

    子組件給父組件進行傳值時,都是通過派發(fā)事件,去觸發(fā)父組件中的事件并接收值。

    在子組件綁定一個 @click 事件,然后通過 defineEmits 注冊自定義事件,當(dāng)點擊 @click 事件時觸發(fā) emit 去調(diào)用注冊事件,然后傳遞參數(shù)。

    非 TS 聲明語法

    // clickname 父組件自定義事件名let emit = defineEmits([ ‘clickname’ ])const postV = () => {emit(‘clickname’, ‘傳遞的值或變量’)}

    TS 聲明語法

    // clickname 父組件自定義事件名let emit = defineEmits()const postV = (str: string): void => {emit(‘clickname’, str)}

    如果是多個自定義事件,寫法如下:

    type Person = { name: string age: number}let emit = defineEmits()const postV = (str: string): void => {emit(‘clickname’, str)}const postVData = (per: Person): void => {emit(‘getData’, per)}

    我們在子組件內(nèi),使用 defineEmits 添加派發(fā)事件:

    子組件 子向父傳值 子向父傳data

    父組件內(nèi)使用自定義事件,接收子組件傳遞來的數(shù)據(jù):

    父組件

    defineExpose

    子組件向父組件傳值時,除了使用 defineEmits 之后,也可以使用 defineExpose ,它是通過把組件自己的屬性暴露出去,父組件先獲取到子組件,再獲取屬性值。

    defineExpose 接收一個對象參數(shù),包含需要傳遞的屬性。

    defineExpose({name, count, ….})

    在子組件內(nèi),定義和暴露需要傳遞的屬性:

    子組件

    在父組件內(nèi)使用 ref 獲取到子組件,然后打印屬性:

    父組件 獲取子組件屬性

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年7月18日 00:12
    下一篇 2022年7月18日 00:12

    相關(guān)推薦

    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 《寶可夢朱紫》獒教父屬性是什么?獒教父屬性一覽

      寶可夢朱紫里獒教父是一只很強的寶可夢,很多玩家不清楚獒教父的屬性是什么樣的,下面就給大家?guī)韺毧蓧糁熳祥峤谈笇傩砸挥[,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 獒教父屬性一覽…

      2022年11月25日
    • 《寶可夢朱紫》太晶化強力寶可夢推薦 太晶化哪些寶可夢最強?

      寶可夢朱紫游戲中寶可夢種類繁多,不過有的寶可夢比較強,有的稍弱一些,那么太晶化化哪些寶可夢最強呢,為了便于大家更好的體驗游戲,這里給大家?guī)砹藢毧蓧糁熳咸Щ瘡娏毧蓧敉扑],一起來…

      2022年11月25日
    • 寶可夢朱紫四大天王屬性怎么樣 四大天王屬性數(shù)值介紹

      寶可夢朱紫四大天王屬性如何?四大天王的屬性數(shù)值玩家們還是挺好奇的,想要了解四大天王屬性的可以看看下面小編的介紹,小編會把四大天王的屬性數(shù)值全都分享在下面,各位趕緊來小編這里多了解一…

      2022年11月25日
    • 寶可夢朱紫皮卡丘多少級進化 皮卡丘進化條件攻略

      寶可夢朱紫皮卡丘進化條件是什么?皮卡丘怎么進化?作為最受歡迎的電屬性寶可夢,大家都很想知道皮卡丘進化的方法,今天小編這就在下面的攻略中分享皮卡丘進化條件,各位可以趕緊來小編這里了解…

      2022年11月25日
    • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

      CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊,可以是激活,可以是搜索下載激活,可以是綁卡,實名認證,可以是付費,可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來定…

      2022年11月25日
    • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點)

      如今抖音這個短視頻的變現(xiàn)能力越來越突顯了,尤其是在平臺上開通直播,更具有超強的帶貨屬性,已經(jīng)有越來越多的普通人加入到其中了。不過直播帶貨雖然很火,但是也不是每個人都能做好的,那么在…

      2022年11月24日
    • 《寶可夢朱紫》四天王屬性是什么?四天王屬性陣容一覽

      寶可夢朱紫中玩家可以挑戰(zhàn)四天王,很多玩家想知道寶可夢朱紫四天王屬性是什么,有什么陣容?下面就帶來寶可夢朱紫四天王屬性陣容一覽,感興趣的小伙伴不要錯過,希望能幫助到大家。 四天王屬性…

      2022年11月24日
    • 寶可夢朱紫皮卡丘怎么進化?寶可夢朱紫皮卡丘進化條件攻略

      寶可夢朱紫皮卡丘進化條件是什么?皮卡丘怎么進化?作為最受歡迎的電屬性寶可夢,大家都很想知道皮卡丘進化的方法,今天小編這就在下面的攻略中分享皮卡丘進化條件,各位可以趕緊來小編這里了解…

      2022年11月24日
    • 事件營銷案例

      篇一成功營銷案例小故事成功銷售案例小故事篇1模仿 一個人想做一套家具,就走到樹林里砍倒一棵樹,并動手把它鋸成木板這個人鋸樹的時候,把樹干的一頭擱在樹墩上,自己騎在樹干上還往鋸開的縫…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息