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

vue中的provide/inject的學(xué)習(xí)使用

 更新時間:2018年05月09日 09:30:26   作者:櫻花落  
本篇文章主要介紹了vue中的provide/inject的學(xué)習(xí)使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

最近在看element-ui的源碼,發(fā)現(xiàn)了一個這樣的屬性:inject.遂查看官網(wǎng)provider/inject

provider/inject:簡單的來說就是在父組件中通過provider來提供變量,然后在子組件中通過inject來注入變量。

需要注意的是這里不論子組件有多深,只要調(diào)用了inject那么就可以注入provider中的數(shù)據(jù)。而不是局限于只能從當前父組件的prop屬性來獲取數(shù)據(jù)。

下面我們來驗證下猜想:

first:定義一個parent component

<template>
 <div>
<childOne></childOne>
 </div>
</template>

<script>
 import childOne from '../components/test/ChildOne'
 export default {
  name: "Parent",
  provide: {
   for: "demo"
  },
  components:{
   childOne
  }
 }

在這里我們在父組件中provide for這個變量。

second 定義一個子組件

<template>
 <div>
  {{demo}}
  <childtwo></childtwo>
 </div>
</template>

<script>
 import childtwo from './ChildTwo'
 export default {
  name: "childOne",
  inject: ['for'],
  data() {
   return {
    demo: this.for
   }
  },
  components: {
   childtwo
  }
 }
</script>

third 定義另一個子組件

<template>
 <div>
  {{demo}}
 </div>
</template>

<script>
 export default {
  name: "",
  inject: ['for'],
  data() {
   return {
    demo: this.for
   }
  }
 }
</script>

在2個子組件中我們使用jnject注入了provide提供的變量for,并將它提供給了data屬性。

這里官網(wǎng)注明例子只工作在 Vue 2.2.1 或更高版本。低于這個版本時,注入的值會在 props 和 data 初始化之后得到。

運行之后看下結(jié)果

從上面這個例子可以看出,只要在父組件中調(diào)用了,那么在這個父組件生效的生命周期內(nèi),所有的子組件都可以調(diào)用inject來注入父組件中的值。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

图片| 天气| 冀州市| 东辽县| 永德县| 九龙县| 周口市| 阜平县| 阳山县| 庆阳市| 新郑市| 泾川县| 吕梁市| 嘉鱼县| 盐池县| 通州市| 东阿县| 梧州市| 汉中市| 台南县| 临汾市| 海宁市| 济源市| 皋兰县| 同仁县| 大洼县| 宁武县| 涿鹿县| 尼勒克县| 泸州市| 景宁| 襄汾县| 大埔区| 富蕴县| 桑日县| 阳春市| 临武县| 明溪县| 东乌珠穆沁旗| 彰武县| 苗栗县|