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

vue2.0/3.0中provide和inject的用法示例

 更新時間:2021年09月08日 15:19:09   作者:大鵬_yp  
provide和inject是成對出現的,主要用于父組件向子孫組件傳遞數據,這篇文章主要給大家介紹了關于vue2.0/3.0中provide和inject用法的相關資料,需要的朋友可以參考下

1、provide/inject有什么用?

常用的父子組件通信方式都是父組件綁定要傳遞給子組件的數據,子組件通過props屬性接收,一旦組件層級變多時,采用這種方式一級一級傳遞值非常麻煩,而且代碼可讀性不高,不便后期維護。

vue提供了provide和inject幫助我們解決多層次嵌套嵌套通信問題。在provide中指定要傳遞給子孫組件的數據,子孫組件通過inject注入祖父組件傳遞過來的數據。

使用場景:由于vue有$parent屬性可以讓子組件訪問父組件。但孫組件想要訪問祖先組件就比較困難。通過provide/inject可以輕松實現跨級訪問祖先組件的數據

2、provide/inject使用方式

  provide:是一個對象 / 返回對象的函數。

       里面是屬性和屬性值。

  注意:子孫層的provide會掩蓋祖父層provide中相同key的屬性值

  inject:一個字符串數組,或者是一個對象。

     屬性值可以是一個對象,包含from和default默認值,from是在可用的注入內容中搜索用的 key (字符串或 Symbol),意思就是祖父多層provide提供了很多數據,from屬性指定取哪一個key;

    default指定默認值。

具體用法:

父組件

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

<script>
export default {
  components: {
    MergeTipDialog,
    BreakNetTip
  },
  data () {
    return {
      isShow: false,
      isRouterAlive: true
  },

// 父組件中返回要傳給下級的數據  可以使函數,也可以是data中的數據
  provide () {
    return {
      reload: this.reload    isShow:this.isShow
    }
  },
  methods: {
    reload () {
      this.isRouterAlive = false
      this.$nextTick(() => {
        this.isRouterAlive = true
      })
    }
  }
}
</script>

子孫

<template>
  <popup-assign
    :id="id"
    @success="successHandle"
  >
    <div class="confirm-d-tit"><span class="gray-small-btn">{{ name }}</span></div>
    <strong>將被分配給</strong>
    <a
      slot="reference"
      class="unite-btn"
    >
      指派
    </a>
  </popup-assign>
</template>
<script>
import PopupAssign from '../PopupAssign'
export default {
//引用vue reload方法 內容 isShow
  inject: ['reload','isShow'],
  components: {
    PopupAssign
  },
methods: {
    async successHandle () {
      this.reload()
    }
  }
}
</script>

vue3.0用法

父組件

 子組件

總結

到此這篇關于vue2.0/3.0中provide和inject用法的文章就介紹到這了,更多相關vue中provide和inject用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue項目中main.js的用法

    vue項目中main.js的用法

    src/main.js是入口文件,主要作用是初始化vue實例并使用需要的插件, Vue.use()的作用就是讓它里面被注冊的組件能夠被全局使用,本文通過實例代碼介紹vue項目中main.js的用法,感興趣的朋友一起看看吧
    2023-10-10
  • Vue-router的使用和出現空白頁,路由對象屬性詳解

    Vue-router的使用和出現空白頁,路由對象屬性詳解

    今天小編就為大家分享一篇Vue-router的使用和出現空白頁,路由對象屬性詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue模板配置與webstorm代碼格式規(guī)范設置

    vue模板配置與webstorm代碼格式規(guī)范設置

    這篇文章主要介紹了vue模板配置與webstorm代碼格式規(guī)范設置詳細的相關資料,需要的朋友可以參考一下文章得具體內容,希望對你有所幫助
    2021-10-10
  • 前端vue3使用axios調用后端接口的實現方法

    前端vue3使用axios調用后端接口的實現方法

    vue本身不支持ajax接口的請求,所以在vue中經常使用axios這個接口請求工具,下面這篇文章主要給大家介紹了關于前端vue3使用axios調用后端接口的實現方法,需要的朋友可以參考下
    2022-12-12
  • vue-cli3項目配置eslint代碼規(guī)范的完整步驟

    vue-cli3項目配置eslint代碼規(guī)范的完整步驟

    這篇文章主要給大家介紹了關于vue-cli3項目配置eslint代碼規(guī)范的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Vue3響應式對象是如何實現的(1)

    Vue3響應式對象是如何實現的(1)

    這篇文章主要介紹了Vue3響應式對象是如何實現的,文章圍繞主題展開詳細的內容介紹具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 使用vue實現pdf預覽功能的方法

    使用vue實現pdf預覽功能的方法

    許多朋友想要材料上傳之后點擊預覽實現在瀏覽器上預覽的效果,所以本文將給大家介紹如何使用vue實現pdf預覽功能,文中有實現代碼,有需要的朋友可以參考閱讀下
    2023-08-08
  • Vue3中集成高德地圖并實現平移縮放功能

    Vue3中集成高德地圖并實現平移縮放功能

    隨著前端技術的不斷發(fā)展,地圖應用在我們的項目中越來越常見,本文將介紹如何在Vue3項目中集成高德地圖,并通過簡單的配置實現地圖的平移和縮放功能,需要的朋友可以參考下
    2024-09-09
  • Vue實現調節(jié)窗口大小時觸發(fā)事件動態(tài)調節(jié)更新組件尺寸的方法

    Vue實現調節(jié)窗口大小時觸發(fā)事件動態(tài)調節(jié)更新組件尺寸的方法

    今天小編就為大家分享一篇Vue實現調節(jié)窗口大小時觸發(fā)事件動態(tài)調節(jié)更新組件尺寸的方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue.js中的computed工作原理

    Vue.js中的computed工作原理

    這篇文章,我們通過實現一個簡單版的和Vue中computed具有相同功能的函數來了解computed是如何工作的。對Vue.js中的computed工作原理感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-03-03

最新評論