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

VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件的數(shù)據(jù)通信

 更新時間:2022年04月18日 10:46:44   作者:今天寫注釋了嗎  
所謂祖孫組件,也就是3層嵌套的組件,下面這篇文章主要給大家介紹了關(guān)于VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件的數(shù)據(jù)通信的相關(guān)資料,需要的朋友可以參考下
  • 在開發(fā)的過程中遇到這么個場景,我需要在爺組件中請求數(shù)據(jù),請求到的數(shù)據(jù)呢需要在孫組件中使用。

  • 爺孫組件是這樣的:我有一個根組件index.vue,根組件中有一個父親組件<Father/>,在父親組件中又有一個子組件,我們叫他孫組件<Son/>

  • 看到這個場景,vuex、eventBus是有些大材小用了,然后我就用了props,將數(shù)據(jù)傳遞給<Father/>,又將這個值通過props傳給<Son/>。但是這么傳遞似乎又感覺有些low了,那有沒有更好的辦法呢?確實(shí)有!那就是$attrs和$listeners。

$attrs和$listeners如何使用呢?

  • $attrs是用來將數(shù)據(jù)從爺組件傳遞給孫組件的。
  • $listeners是用來從孫組件中觸發(fā)爺組件中事件的。

$attrs的使用:

  • 在爺組件(index.vue)中,類似props傳值,將需要傳遞的值綁定在父組件上。
  • 在父組件中,也是類似props傳值,但是這里傳遞的就不是值了,而是$attrs。
  • 在孫組件中,接收props,這樣就可以在孫組件中使用這個數(shù)據(jù)了。

(需要注意的是父組件中不需要接收props,只要在孫組件中接收就可以。)

然后上代碼:

//index.vue:
<Father :homeInfo="homeInfo"/>

//Father.vue:
<Son v-bind="$attrs"/>

//son.vue:
<template>
    <div class="home">
    {{homeInfo.name}}
    </div>
</template>

<script>
export default {
    name: "Son",
    data() {
        return {};
    },
    props: {
        homeInfo: {
            default: Object,
            default: () => {},
        },
    },
};
</script>

$listeners的使用:

  • 在爺組件(index.vue)中,綁定事件。
  • 在父組件中,也是類似綁定事件,但是這里綁定的不是具體的事件,而是v-on="$listeners"。
  • 在孫組件中,需要的時候觸發(fā)($emit)這個事件即可。

然后上代碼:

//index.vue:
<Father :homeInfo="homeInfo" @update="update"/>

//Father.vue:
<Son v-bind="$attrs" v-on="$listeners"/>

//son.vue:
<template>
    <div class="home" @click="update">
    {{homeInfo.name}}
    </div>
</template>

<script>
export default {
    name: "Son",
    data() {
        return {};
    },
    props: {
        homeInfo: {
            default: Object,
            default: () => {},
        },
    },
    methods: {
        update() {
            const newHome = {
                name: 'new'
            }
            this.$emit("update", newHome)
        }
    }
};
</script>

總結(jié):

其實(shí)$attrs和$listeners相當(dāng)于是一個中轉(zhuǎn),主要用在父親組件上。爺組件和孫組件保持以前的使用即可!

到此這篇關(guān)于VUE中如何優(yōu)雅實(shí)現(xiàn)爺孫組件數(shù)據(jù)通信的文章就介紹到這了,更多相關(guān)VUE爺孫組件數(shù)據(jù)通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3配置路由ERROR in [eslint]報錯問題及解決

    Vue3配置路由ERROR in [eslint]報錯問題及解決

    這篇文章主要介紹了Vue3配置路由ERROR in [eslint]報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 關(guān)于vue中 $emit的用法詳解

    關(guān)于vue中 $emit的用法詳解

    這篇文章主要介紹了vue中 $emit的用法,通過實(shí)例代碼給大家介紹了子組件和父組件的相關(guān)知識,需要的朋友參考下吧
    2018-04-04
  • 基于Vue中使用節(jié)流Lodash throttle詳解

    基于Vue中使用節(jié)流Lodash throttle詳解

    今天小編就為大家分享一篇基于Vue中使用節(jié)流Lodash throttle詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Vue中Element?UI組件庫使用方法詳解

    Vue中Element?UI組件庫使用方法詳解

    ElementUI是Vue的UI框架,提供了豐富的組件,方便快速開發(fā)頁面,本文詳細(xì)介紹了ElementUI的安裝、使用方法以及常見組件的說明,包括基礎(chǔ)組件、布局組件、選擇框組件、輸入框組件、下拉框組件等,需要的朋友可以參考下
    2024-11-11
  • vue+elementUI實(shí)現(xiàn)圖片上傳功能

    vue+elementUI實(shí)現(xiàn)圖片上傳功能

    這篇文章主要為大家詳細(xì)介紹了vue+elementUI實(shí)現(xiàn)圖片上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 詳解vue嵌套路由-params傳遞參數(shù)

    詳解vue嵌套路由-params傳遞參數(shù)

    本篇文章主要介紹了詳解vue嵌套路由-params傳遞參數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vue之多項(xiàng)目|多工程共用相同組件的思路解讀

    vue之多項(xiàng)目|多工程共用相同組件的思路解讀

    這篇文章主要介紹了vue之多項(xiàng)目|多工程共用相同組件的思路,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 如何使用Gitee Pages服務(wù) 搭建Vue項(xiàng)目

    如何使用Gitee Pages服務(wù) 搭建Vue項(xiàng)目

    這篇文章主要介紹了如何使用Gitee Pages服務(wù) 搭建Vue項(xiàng)目,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3使用路由及配置vite.alias簡化導(dǎo)入寫法的過程詳解

    Vue3使用路由及配置vite.alias簡化導(dǎo)入寫法的過程詳解

    這篇文章主要介紹了Vue3使用路由及配置vite.alias簡化導(dǎo)入寫法,本文通過實(shí)例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • Vue 2閱讀理解之initRender與callHook組件詳解

    Vue 2閱讀理解之initRender與callHook組件詳解

    這篇文章主要為大家介紹了Vue 2閱讀理解之initRender與callHook組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評論

宣武区| 临高县| 台中县| 鸡西市| 宁海县| 台山市| 万全县| 睢宁县| 昭平县| 香港 | 台江县| 哈巴河县| 尼勒克县| 金溪县| 库尔勒市| 葫芦岛市| 星子县| 贞丰县| 高陵县| 泽库县| 新绛县| 宜州市| 牡丹江市| 柳林县| 梁平县| 芜湖市| 旺苍县| 富裕县| 拉孜县| 宜丰县| 石嘴山市| 庆阳市| 福泉市| 彭泽县| 临夏市| 密云县| 乌兰浩特市| 永吉县| 兰溪市| 昌乐县| 奉节县|