欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue?privide?和inject?依賴注入的使用詳解

 更新時間:2022年10月31日 15:59:00   作者:技術楊  
這篇文章主要介紹了Vue?privide?和inject?依賴注入的用法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

關于Vue組件的通訊方式如下:

  • 父子組件:通過prop,$ emit,【$ root,$ parent,$ children】;
  • 非父子組件:vuex,父子層層傳遞、中央事務總線bus,$ref。

vue官網(wǎng)建議,在正常情況下,上述方式已經(jīng)能滿足絕大多數(shù)甚至所有的業(yè)務需求,對于應用程序代碼應優(yōu)先使用它們處理。然而,還有一種主要為 高階插件/組件庫 提供的用例辦法,即 provide / inject (這對選項需要一起使用)。

from表示在可用的注入內容中搜索用的 key,default當然就是默認值。

示例

// 父級組件提供'foo'
var Provider = {
  provide:{
    foo:'bar'
   },
   //...
  }
 子組件注入'foo'
 var Child = {
   inject:['foo'],
   created(){
    console.log(this.foo) // =>"bar"
   }
   //...
  }

項目案例

父組件

項目最外層的布局組件layout.vue

<template>
   <div>
   <!--主內容-->
   <router-view></router-view>
   </div>
 </template>
 <script>
    export default{
       name:'layout',
       provide(){
          return{
               layout:this//這里的this值當前l(fā)ayout組件實例
	       box:'world'
	     }
	  },
	  data(){
	     return{
	        test:'hello'
	   }
	 },
}
</script>

這里就是我們說的provide,向下提供信息,這里提供的是當前的vue實例,相當于給了后代一個接口。

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

子組件

layout.vue 組件內的router-view 可能路由進來很多其它子孫組件,比如order.vue

<script>
    export default {
     name:'order',
     inject:['layout','box'],
     created(){
     console.log(this.layout.test);//hello
     console.log(this.box);//world
     }
    }

這樣也就可以訪問了,當做當前vue實例的屬性。這樣做的好處,相當于給了一個捷徑,不用使用$parent一級一級的訪問。

我們可以把依賴注入看做一部分“大范圍有效的prop”,除了

祖先組件不需要知道哪些后代組件需要使用它提供的屬性后代組件不需要知道被注入的屬性來自哪里

到此這篇關于Vue privide 和inject 依賴注入的用法的文章就介紹到這了,更多相關Vue privide 和inject內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue2.0多條件搜索組件使用詳解

    vue2.0多條件搜索組件使用詳解

    這篇文章主要為大家詳細介紹了vue2.0多條件搜索組件的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue實現(xiàn)列表無縫循環(huán)滾動

    vue實現(xiàn)列表無縫循環(huán)滾動

    這篇文章主要為大家詳細介紹了vue實現(xiàn)列表無縫循環(huán)滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 快速解決vue-cli在ie9+中無效的問題

    快速解決vue-cli在ie9+中無效的問題

    今天小編就為大家分享一篇快速解決vue-cli在ie9+中無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue使用html2canvas實現(xiàn)將DOM節(jié)點生成對應的PDF

    vue使用html2canvas實現(xiàn)將DOM節(jié)點生成對應的PDF

    這篇文章主要為大家詳細介紹了vue如何使用html2canvas實現(xiàn)將DOM節(jié)點生成對應的PDF,文中的示例代碼簡潔易懂,感興趣的小伙伴可以學習一下
    2023-08-08
  • vue組件 非單文件組件的使用步驟

    vue組件 非單文件組件的使用步驟

    組件又分為非單文件組件和單文件組件,一般常用的就是單文件組件,這篇文章主要介紹了vue組件非單文件組件的使用步驟,需要的朋友可以參考下
    2023-01-01
  • vue判斷內容是否滑動到底部的三種方式

    vue判斷內容是否滑動到底部的三種方式

    這篇文章主要介紹了vue判斷內容是否滑動到底部的三種方式,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • vue中pc移動滾動穿透問題及解決

    vue中pc移動滾動穿透問題及解決

    這篇文章主要介紹了vue中pc移動滾動穿透問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • antdv vue upload自定義上傳結合表單提交方式

    antdv vue upload自定義上傳結合表單提交方式

    這篇文章主要介紹了antdv vue upload自定義上傳結合表單提交方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • VuePress 中如何增加用戶登錄功能

    VuePress 中如何增加用戶登錄功能

    VuePress 由兩部分組成:一個以 Vue 驅動的主題系統(tǒng)的簡約靜態(tài)網(wǎng)站生成工具,和一個為編寫技術文檔而優(yōu)化的默認主題。它是為了支持 Vue 子項目的文檔需求而創(chuàng)建的
    2019-11-11
  • 淺談el-table中使用虛擬列表對對表格進行優(yōu)化

    淺談el-table中使用虛擬列表對對表格進行優(yōu)化

    我們會經(jīng)常使用表格,如果數(shù)據(jù)量大就直接可以分頁,如果多條可能會影響表格的卡頓,那么應該如何進行優(yōu)化,感興趣的可以了解一下
    2021-08-08

最新評論