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

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

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

前言

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

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

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

下面我們來驗(yàn)證下猜想:

first:定義一個(gè)parent component

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

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

在這里我們?cè)诟附M件中provide for這個(gè)變量。

second 定義一個(gè)子組件

<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 定義另一個(gè)子組件

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

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

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

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

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

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

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

相關(guān)文章

最新評(píng)論

兴国县| 神木县| 大新县| 资溪县| 潼关县| 巴南区| 敖汉旗| 固原市| 林周县| 肥西县| 龙胜| 河北区| 楚雄市| 确山县| 万全县| 吴堡县| 云梦县| 河北区| 咸丰县| 峨边| 昭通市| 锡林浩特市| 奉节县| 平潭县| 台州市| 纳雍县| 新营市| 新建县| 英山县| 甘肃省| 阳城县| 霍邱县| 沾益县| 策勒县| 交城县| 兴城市| 修水县| 新乡市| 平南县| 雅安市| 綦江县|