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

vue中的依賴注入provide和inject簡單介紹

 更新時間:2022年11月06日 11:03:49   作者:螢火之森-Thezero  
這篇文章主要介紹了vue中的依賴注入provide和inject簡單介紹,provide 選項允許我們指定我們想要提供給后代組件的數(shù)據(jù)/方法,本文通過組價刷新的案列給大家詳細講解,需要的朋友可以參考下

vue中的依賴注入 provide 和 inject

vue中的依賴注入 provide 和 inject

在這里插入圖片描述

provide 選項允許我們指定我們想要提供給后代組件的數(shù)據(jù)/方法。

下面是一個組價刷新的案列

<template>
  <div >
    <div class="view">
      <router-view v-if="isRouterAlive"></router-view>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      isRouterAlive: true
    }
  },
  provide() {
    return {
      reload: this.reload
    }
  },
  methods: {
    reload() {
      this.isRouterAlive = false
      this.$nextTick(function() {
        this.isRouterAlive = true
      })
    }
  }
}

然后在任何后代組件里,我們都可以使用 inject 選項來接收指定的我們想要添加在這個實例上的屬性:

inject: ['reload']

注:依賴注入所提供的屬性是非響應(yīng)式

vue中的依賴注入provide和inject場景解析(簡單易懂)

本文開始,首先我們來看這兩個詞的意思,provide:提供 inject:注入

用處:

父組件可以向其所有子組件傳入數(shù)據(jù),而“不管子組件層次結(jié)構(gòu)有多深(非父子和父子咱都能傳)”

特性:

父組件有一個provide選項來提供數(shù)據(jù)

子組件有一個inject選項來開始使用這個數(shù)據(jù)

本文參考組件層級:

Index組件

\ A組件

\ B組件

代碼區(qū):

場景1:我想要Index組件直接給b組件傳值

Index組件代碼:

<template>
  <div>
    <div>我是index組件</div>
    <A></A>
  </div>
</template>

<script>
import A from '@/components/A.vue'

export default {
  components: {
    A
  },
  data() {
    return {}
  },
  provide: {
    text: '我是父組件的provide信息666'
  }
}
</script>

<style></style>

接收的B組件代碼:

<template>
  <div>
    <div>我是B組件</div>
    <div>{{ msg }}</div>
  </div>
</template>

<script>
export default {
  name: 'B',
  data() {
    return {
      msg: this.text
    }
  },
  inject: ['text']
}
</script>

<style></style>

當然,provide還有第二種寫法,寫成函數(shù)的形式

Index組件代碼:

<template>
  <div>
    <div>我是index組件</div>
    <A></A>
  </div>
</template>

<script>
import A from '@/components/A.vue'

export default {
  components: {
    A
  },
  data() {
    return {
      arr: ['1', '2', '3']
    }
  },
  // provide: {
  //   text: '我是父組件的provide信息666'
  // }
  provide() {
    return {
      arr: this.arr
    }
  }
}
</script>

<style></style>

B組件代碼:

<template>
  <div>
    <div>我是B組件</div>
    <div>{{ msg }}</div>
    <ul v-for="(item, index) in arr" :key="index">
      <li>{{ item }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'B',
  data() {
    return {
      msg: this.text
    }
  },
  inject: ['arr']
}
</script>

<style></style>

運行截圖:

對比:

如果使用常見的props方式傳值需要:index->a->b

如果使用provide/inject方式傳值:index->a index->b

本文如有錯誤,還望各位批評指針,希望能幫助到大家更好的理解vue的provide和inject

到此這篇關(guān)于vue中的依賴注入provide和inject簡單介紹的文章就介紹到這了,更多相關(guān)vue依賴注入provide和inject內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue配置別名alias在webstorm不生效問題及解決

    vue配置別名alias在webstorm不生效問題及解決

    這篇文章主要介紹了vue配置別名alias在webstorm不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • el-table表格動態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并)

    el-table表格動態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并)

    工作時遇到的el-table合并單元格的需求,本文主要介紹了el-table表格動態(tài)合并相同數(shù)據(jù)單元格(可指定列+自定義合并),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Vue3中使用Pinia修改State的五種方式

    Vue3中使用Pinia修改State的五種方式

    這篇文章主要介紹了Vue3中使用Pinia修改State的五種方式,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2023-11-11
  • Vue表單預(yù)校驗 validate方法不生效問題

    Vue表單預(yù)校驗 validate方法不生效問題

    這篇文章主要介紹了Vue表單預(yù)校驗 validate方法不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue2中基于vue-simple-upload實現(xiàn)文件分片上傳組件功能

    vue2中基于vue-simple-upload實現(xiàn)文件分片上傳組件功能

    這篇文章主要介紹了vue2中基于vue-simple-upload的文件分片上傳組件,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • vue 粒子特效的示例代碼

    vue 粒子特效的示例代碼

    本篇文章主要介紹了vue 粒子特效的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue3自定義插件的作用場景及使用示例詳解

    vue3自定義插件的作用場景及使用示例詳解

    這篇文章主要為大家介紹了vue3自定義插件的作用場景及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • vue3中emit('update:modelValue')使用簡單示例

    vue3中emit('update:modelValue')使用簡單示例

    這篇文章主要給大家介紹了關(guān)于vue3中emit('update:modelValue')使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-09-09
  • vue如何將html內(nèi)容轉(zhuǎn)為圖片并下載到本地

    vue如何將html內(nèi)容轉(zhuǎn)為圖片并下載到本地

    這篇文章主要介紹了vue如何將html內(nèi)容轉(zhuǎn)為圖片并下載到本地,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • ant-design-vue中的table自定義格式渲染解析

    ant-design-vue中的table自定義格式渲染解析

    這篇文章主要介紹了ant-design-vue中的table自定義格式渲染,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論

桂东县| 扶绥县| 石河子市| 伊川县| 容城县| 孟村| 泰和县| 达拉特旗| 大渡口区| 陆丰市| 通山县| 大悟县| 清流县| 巴彦淖尔市| 砀山县| 体育| 株洲市| 舞阳县| 巴林右旗| 芦溪县| 虞城县| 揭西县| 兴业县| 铁岭市| 武平县| 光山县| 关岭| 大竹县| 建瓯市| 曲沃县| 恭城| 镇远县| 西乌珠穆沁旗| 来宾市| 娄烦县| 肥东县| 钦州市| 盖州市| 沙雅县| 萍乡市| 峡江县|