亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue父組件給子組件的組件傳值provide inject的方法

 更新時間:2019年10月23日 15:11:46   作者:吼吼醬  
在本篇文章里小編給大家整理的是一篇關于vue父組件給子組件的組件傳值provide inject的方法,需要的朋友們學習下。

一般情況下我們父子之間的傳值用的是props,這個就不多說了,但是如果想讓父給子組件的組件傳值怎么辦呢,這里我們就可以用到 provide 和 inject(依賴注入)

provide/inject需要一起使用,我們可以從父組件的provide傳值,子組件或者孫組件,就可以用inject來接受子組件的provide屬性值

具體的可以看官網介紹provide/inject:https://cn.vuejs.org/v2/api/#provide-inject

下面我們可以寫個簡單的例子來演示一下

父組件parent,我們在里面引入了一個子組件provideChild

<template>
  <div>
    <button @click="add">點擊增加</button>
    <provideChild/>
  </div>
</template>
<script>
import provideChild from '@/components/provideChild'
export default {
  components:{provideChild},
  data () {
    return {
      foo:5
    }
  },
  //依賴注入傳值
  provide(){
    return{
      newFoo:this.foo
    }
  },
  methods:{
    add(){
      this.foo ++
    },
  }
}
</script>
  

子組件provideChild,我們同時又在子組件里面引入了一個他的組件

我們可以看到他的打印出注入的newFoo值5

 

<template>
<section>
  <div>我是子組件:{{newFoo}}</div>
  <childChild/>
</section>
</template>
<script>
import childChild from '@/components/childChild'
export default {
  components:{
    childChild
  },
  inject:['newFoo'],
  mounted(){
    console.log(this.newFoo)
  },
  
}
</script>

孫子組件childChild

<template>
  <div>我是子組件的組件:{{newFoo}}</div>
</template>
<script>
export default {
  inject:['newFoo'],
}
</script>
  

接下來我們可以看一下頁面的

是可以展示的出來的,但是我們點擊增加的時候,子組件們都沒有響應,如果此時你有好好看文檔的話,就應該猜出為什么了

provide必須是個對象inject的綁定值才可以響應,那么我們可以試一試

//parent父組件的寫法
<template>
  <div>
    <button @click="add">點擊增加</button>
    <provideChild/>
  </div>
</template>
<script>
import provideChild from '@/components/provideChild'
export default {
  components:{provideChild},
  data () {
    return {
      fooObj:{
        foo:5
      }
    }
  },
  //依賴注入傳值
  provide(){
    return{
      newFoo:this.fooObj
    }
  },
  methods:{
    add(){
      this.fooObj.foo ++
    },
  }
}
</script>

//子組件provideChild
<template>
<section>
  <div>我是子組件:{{newFoo.foo}}</div>
  <childChild/>
</section>
</template>
<script>
import childChild from '@/components/childChild'
export default {
  components:{
    childChild
  },
  inject:['newFoo'],
  mounted(){
    console.log(this.newFoo)
  },
  
}
</script>

//孫子組件childChild
<template>
  <div>我是子組件的組件:{{newFoo.foo}}</div>
</template>
<script>
export default {
  inject:['newFoo'],
}
</script>

這樣我們就可以操作父組件的添加方法,得到子孫組件的響應

以上就是本次介紹的全部相關知識點,感謝大家的學習和對腳本之家的支持。

相關文章

  • vue如何利用axios調用后臺api接口

    vue如何利用axios調用后臺api接口

    這篇文章主要介紹了vue如何利用axios調用后臺api接口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue3中Vuex狀態(tài)管理學習實戰(zhàn)示例詳解

    Vue3中Vuex狀態(tài)管理學習實戰(zhàn)示例詳解

    這篇文章主要為大家介紹了Vue3中Vuex狀態(tài)管理學習實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • VUE前后端學習tab寫法實例

    VUE前后端學習tab寫法實例

    在本篇文章里小編給大家分享了關于VUE前后端學習tab寫法實例以及相關知識點,需要的朋友們參考下。
    2019-08-08
  • Vue中使用js-cookie詳情

    Vue中使用js-cookie詳情

    這篇文章主要介紹了Vue中使用js-cookie詳情,文章圍繞js-cookie的相關資料展開詳細內容具有一定的的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳解

    vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳

    defineProps?和?defineEmits?都是只能在?<script?setup>?中使用的編譯器宏,他們不需要導入,且會隨著?<script?setup>?的處理過程一同被編譯掉,這篇文章主要介紹了vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳解,需要的朋友可以參考下
    2023-01-01
  • Vue項目自動轉換 px 為 rem的實現方法

    Vue項目自動轉換 px 為 rem的實現方法

    這篇文章主要介紹了Vue項目自動轉換 px 為 rem的實現方法,本文是通過一系列的配置后,轉換成熱門,具體內容詳情大家跟隨小編一起通過本文學習吧
    2018-10-10
  • Vue實現鼠標經過文字顯示懸浮框效果的示例代碼

    Vue實現鼠標經過文字顯示懸浮框效果的示例代碼

    這篇文章主要介紹了Vue實現鼠標經過文字顯示懸浮框效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Vue中組件的傳值方式詳解

    Vue中組件的傳值方式詳解

    這篇文章主要介紹了Vue中組件的傳值方式詳解,Vue中最常見的組件之間的通信方式有12種,今天我們會詳細講解父傳子props方式和子傳父emit以及非父子組件傳值,需要的朋友可以參考下
    2023-08-08
  • 基于vue寫一個全局Message組件的實現

    基于vue寫一個全局Message組件的實現

    這篇文章主要介紹了基于vue寫一個全局Message組件的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • VUE中使用TypeScript裝飾器實現表單驗證的全過程

    VUE中使用TypeScript裝飾器實現表單驗證的全過程

    這篇文章主要給大家介紹了關于如何在VUE中使用TypeScript裝飾器實現表單驗證的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03

最新評論