欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue子組件設計provide和inject理解使用

 更新時間:2023年08月11日 11:55:25   作者:大海愛奔跑  
這篇文章主要為大家介紹了vue子組件設計provide和inject理解及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

閱讀element-ui源碼,發(fā)現(xiàn)在設計子組時件用到了inject屬性,隨即查了一下官方文檔,得知vue在2.2.0版本里新增了provide / inject

provide 和 inject 主要在開發(fā)高階插件/組件庫時使用。并不推薦用于普通應用程序代碼中。

按照文檔的描述,我的理解是:在多級嵌套的組件體系中,某級外層組件可以通過provide屬性向其下任意一級子組件提供一個依賴,不管層級有多深;而某級子組件則可以通過inject屬性接收來自其上任意一級父組件提供的依賴(通過this.xxx形式獲?。?。注意:provideinject需要一起使用。

舉個例子說明

清朝三位皇帝:康熙(玄燁)、雍正(胤禛)、乾?。ê霘v)是祖孫三代,我們用vue組件的思想表示他們之間的關系,并模擬他們的一段對話,以此理解vue中的provideinject。

調用組件

——大清帝國:qing-dynasty.vue

<!--組件的嵌套關系-->
<kangxi>
  <yongzheng>
    <qianlong></qianlong>
  </yongzheng>
</kangxi>

定義爺爺組件

——康熙皇帝:kangxi.vue

<template>
  <div class="kangxi">
    康熙皇帝
    <slot></slot>
  </div>
</template>
<script>
  export default {
    name: 'kangxi',
    // 爺爺對兒子提供‘kangxiToYongzheng'
    // 對孫子提供‘kangxiToQianlong'
    provide: {
      kangxiToYongzheng: '康熙皇帝對雍正皇帝說:"你是我兒子"',
      kangxiToQianlong: '康熙皇帝對乾隆皇帝說:"你是我孫子"'
    },
    data () {
      return {}
    }
  }
</script>
<style lang="scss">
.kangxi {
  width: 200px;
  height: 140px;
  text-align: center;
  background-color: #ffb599;
}
</style>

定義兒子組件

——雍正皇帝:yongzheng.vue

<template>
  <div class="yongzheng">
    雍正皇帝
    <slot></slot>
  </div>
</template>
<script>
  export default {
    name: 'yongzheng',
    // 兒子接收父親提供的‘kangxiToYongzheng'
    inject: ['kangxiToYongzheng'],
    // 同時,兒子也給孫子提供‘yongzhengToQianlong'
    provide: {
      yongzhengToQianlong: '雍正皇帝對乾隆皇帝說:"你是我兒子"'
    },
    data () {
      return {}
    },
    created () {
      // 可以通過this獲取
      console.log(this.kangxiToYongzheng, ' 雍正皇帝回答:"是的,爸爸"')
    }
  }
</script>
<style lang="scss">
  .yongzheng {
    width: 160px;
    height: 100px;
    margin: 0 auto;
    text-align: center;
    background-color: #84b5ff;
  }
</style>

// 打印結果

康熙皇帝對雍正皇帝說:"你是我兒子"  雍正皇帝回答:"是的,爸爸" 

定義孫子組件

——乾?。簈ianlong.vue

<template>
  <div class="qianlong">
    乾隆皇帝
  </div>
</template>
<script>
  export default {
    name: 'qianlong',
    // 孫子接收爺爺?shù)摹甼angxiToQianlong'、父親的‘yongzhengToQianlong'
    inject: ['kangxiToQianlong', 'yongzhengToQianlong'],
    data () {
      return {}
    },
    created () {
      // 可以通過this獲取
      console.log(this.kangxiToQianlong, ' 乾隆皇帝回答:"是的,爺爺"')
      console.log(this.yongzhengToQianlong, ' 乾隆皇帝回答:"是的,爸爸"')
    }
  }
</script>
<style lang="scss">
.qianlong {
  width: 120px;
  height: 60px;
  margin: 0 auto;
  text-align: center;
  background-color: blanchedalmond;
}
</style>

 // 打印結果

康熙皇帝對乾隆皇帝說:"你是我孫子"  乾隆皇帝回答:"是的,爺爺"
雍正皇帝對乾隆皇帝說:"你是我兒子"  乾隆皇帝回答:"是的,爸爸"

以上就是vue子組件設計provide和inject理解使用的詳細內容,更多關于vue子組件設計provide inject的資料請關注腳本之家其它相關文章!

相關文章

  • vue.js實例todoList項目

    vue.js實例todoList項目

    本篇文章主要介紹了vue.js實例todoList項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Vue?Hook?封裝通用型表格的詳細過程

    Vue?Hook?封裝通用型表格的詳細過程

    這篇文章主要介紹了Vue?Hook?封裝通用型表格,設計通用型表格組件首先,需要設計一個基礎的表格組件,它接受列配置、數(shù)據和分頁信息等參數(shù),本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 詳解vue-router的導航鉤子(導航守衛(wèi))

    詳解vue-router的導航鉤子(導航守衛(wèi))

    這篇文章主要介紹了詳解vue-router的導航鉤子(導航守衛(wèi)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 詳解vue項目的構建,打包,發(fā)布全過程

    詳解vue項目的構建,打包,發(fā)布全過程

    小編給大家通過本文詳細介紹了關于vue.js項目的構建、打包、發(fā)布的全過程,文章很以后價值,值得你參考。
    2017-11-11
  • vue-element的select下拉框賦值實例

    vue-element的select下拉框賦值實例

    這篇文章主要介紹了vue-element的select下拉框賦值實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue實現(xiàn)app頁面切換動畫效果實例

    vue實現(xiàn)app頁面切換動畫效果實例

    本篇文章主要介紹了vue實現(xiàn)app頁面切換動畫效果實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 12 種使用Vue 的最佳做法

    12 種使用Vue 的最佳做法

    這篇文章主要介紹了12 種使用Vue 的最佳做法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 解決vue 界面在蘋果手機上滑動點擊事件等卡頓問題

    解決vue 界面在蘋果手機上滑動點擊事件等卡頓問題

    這篇文章主要介紹了vue 界面在蘋果手機上滑動點擊事件等卡頓解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • vue指令?v-bind的使用和注意需要注意的點

    vue指令?v-bind的使用和注意需要注意的點

    這篇文章主要給大家分享了?v-bind的使用和注意需要注意的點,下面文章圍繞?v-bind指令的相關資料展開內容且附上詳細代碼?需要的小伙伴可以參考一下,希望對大家有所幫助
    2021-11-11
  • vue實現(xiàn)多個元素或多個組件之間動畫效果

    vue實現(xiàn)多個元素或多個組件之間動畫效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)多個元素或多個組件之間動畫效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評論