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

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

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

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

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

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

到此這篇關(guān)于VUE中如何優(yōu)雅實現(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的用法,通過實例代碼給大家介紹了子組件和父組件的相關(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實現(xiàn)圖片上傳功能

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

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

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

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

    vue之多項目|多工程共用相同組件的思路解讀

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

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

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

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

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

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

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

最新評論

镇赉县| 高平市| 庐江县| 巴楚县| 吉隆县| 平利县| 邻水| 南岸区| 韶山市| 黔江区| 涟源市| 道孚县| 泸水县| 德江县| 巴东县| 六安市| 尚义县| 德昌县| 宝清县| 万荣县| 镇远县| 东宁县| 武邑县| 芦山县| 定南县| 商都县| 思南县| 肃北| 白朗县| 桐庐县| 宝鸡市| 肥东县| 晴隆县| 太仓市| 平原县| 东乡族自治县| 唐山市| 从化市| 泽普县| 太原市| 清流县|