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

Vue使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù)

 更新時間:2024年02月20日 17:05:25   作者:二餅_biu  
這篇文章主要為大家詳細介紹了Vue如何使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù),文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

前言

最近在重讀vue3文檔,讀到"#Class與Style綁定"這一章節(jié)時突然發(fā)現(xiàn),通過$attrs可以直接實現(xiàn)爺爺組件向?qū)O子組件傳遞數(shù)據(jù)。

不考慮注入依賴provide/inject和vuex的情況下,父子組件傳遞數(shù)據(jù)時最常用的是props,遇到爺傳孫的情況,會先爺傳父再父傳子,可以完成需求但總有點那啥,使用$attrs就可以直接實現(xiàn)爺傳孫,畢竟少寫一行代碼是一行啊。

實現(xiàn)

具體實現(xiàn)(以vue3為例):

<--爺組件-->
<script setup>
import { ref } from 'vue';
import Father from './components/Father.vue'
const fatherStr = ref('這是爸爸的數(shù)據(jù)')
const childStr = ref('這是孫子的數(shù)據(jù)')
</script>
<template>
  <Father :fatherStr="fatherStr" :childStr='childStr'></Father>
</template>

爺組件向父組件和孫組件各傳遞了數(shù)據(jù),父組件代碼如下:

<--父組件-->
<script setup>
import Child from './child.vue'
</script>
<template>
  <div>
    <p >father</p>
    <p>{{ $attrs.fatherStr }}</p>
    <Child v-bind="$attrs"></Child>
  </div>
</template>

孫組件代碼如下:

<--孫組件-->
<script setup>
</script>
<template>
  <div>
    <p >child</p>
    <p>{{ $attrs.childStr }}</p>
  </div>
</template>

最后頁面實現(xiàn)效果如下:

優(yōu)化

雖然實現(xiàn)了,但是通過閱讀Vue文檔可以發(fā)現(xiàn),他并不是響應式的。

對于不需要經(jīng)常變動的數(shù)據(jù)應該是夠用了,但是如果是響應式的數(shù)據(jù),可能會有問題,所以做了以下優(yōu)化。 爺組件不變,父組件和孫組件代碼分別如下。

<--父組件-->
<script setup>
import Child from './child.vue'
const props = defineProps(['fatherStr'])
</script>

<template>
  <div>
    <p >father</p>
    <p>{{ fatherStr }}</p>
    <Child v-bind="$attrs"></Child>
  </div>
</template>

<style scoped>
</style>
<--孫組件-->
<script setup>
const props = defineProps(['childStr'])
</script>

<template>
  <div>
    <p >child</p>
    <p>{{ childStr }}</p>
  </div>
</template>

<style scoped>
</style>

效果還是一樣的:

到此這篇關(guān)于Vue使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Vue $attrs組件傳遞數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue非單文件組件使用詳解

    Vue非單文件組件使用詳解

    Vue單文件組件通常使用.vue文件擴展名,下面這篇文章主要給大家介紹了關(guān)于Vue非單文件組件使用的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Vue.delete()刪除對象的屬性說明

    Vue.delete()刪除對象的屬性說明

    這篇文章主要介紹了Vue.delete()刪除對象的屬性說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 使用babel-plugin-import?實現(xiàn)自動按需引入方式

    使用babel-plugin-import?實現(xiàn)自動按需引入方式

    這篇文章主要介紹了使用babel-plugin-import?實現(xiàn)自動按需引入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue指令防止按鈕連點解析

    vue指令防止按鈕連點解析

    這篇文章主要介紹了vue指令防止按鈕連點解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue+element 實現(xiàn)商城主題開發(fā)的示例代碼

    vue+element 實現(xiàn)商城主題開發(fā)的示例代碼

    這篇文章主要介紹了vue+element 實現(xiàn)商城主題開發(fā)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • vue+webpack模擬后臺數(shù)據(jù)的示例代碼

    vue+webpack模擬后臺數(shù)據(jù)的示例代碼

    這篇文章主要介紹了vue+webpack模擬后臺數(shù)據(jù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue+webpack實現(xiàn)異步組件加載的方法

    vue+webpack實現(xiàn)異步組件加載的方法

    下面小編就為大家分享一篇vue+webpack實現(xiàn)異步組件加載的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 在Vue3里使用scss實現(xiàn)簡單的換膚功能

    在Vue3里使用scss實現(xiàn)簡單的換膚功能

    這篇文章主要介紹了在Vue3里使用scss實現(xiàn)簡單的換膚功能,主題色切換、亮色模式和暗黑模式切換、背景圖切換,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2024-12-12
  • Vue中圖片Src使用變量的方法

    Vue中圖片Src使用變量的方法

    這篇文章主要介紹了Vue中圖片Src使用變量的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • vue3的父傳子問題(單項數(shù)據(jù)流)

    vue3的父傳子問題(單項數(shù)據(jù)流)

    這篇文章主要介紹了vue3的父傳子問題(單項數(shù)據(jù)流),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論

漠河县| 孙吴县| 三门峡市| 井研县| 静宁县| 南郑县| 杂多县| 乌恰县| 绥德县| 名山县| 临朐县| 禄劝| 左云县| 喀喇沁旗| 台州市| 汕尾市| 临漳县| 昭苏县| 榕江县| 乐昌市| 肇源县| 山丹县| 惠州市| 高平市| 扶沟县| 彩票| 长垣县| 西乌珠穆沁旗| 洛川县| 丹寨县| 兴安盟| 隆子县| 福州市| 灵台县| 榆树市| 漯河市| 澄江县| 蛟河市| 临泉县| 石嘴山市| 三门县|