91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在vue中使用inject

發布時間:2021-01-21 16:36:53 來源:億速云 閱讀:412 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關如何在vue中使用inject,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

最近看源碼有一段對于整合參數的代碼,

normalizeProps(child, vm)
 normalizeInject(child, vm)
 normalizeDirectives(child)

想象里邊的Inject很少用到,所以查了一下資料,

通常組件傳參是有兩種情況

  1. 父子組件進行傳參,這時候通常利用props

  2. 非父子組件傳參,這時候一般利用vuex

會有一種情況隔代組件傳參,這時候可以利用props一層一層傳遞下去,但是代碼就比較亂了

所以就有了 provide/inject 進行隔代組件傳遞

父組件

<template>
  <div class="test">
    <son></son>
  </div>
</template>
<script>
export default {
  name: 'Test',
  provide: {
    name: 'Garrett'
  }
}
</script>

子組件

<template>
  <div>
    {{name}}
  </div>
</template>
 
<script>
export default {
  name: 'Garrettson',
  inject: [name]
}
</script>

對于使用場景,基礎組件應該使用props,我個人覺得一般用于比較復雜業務,提供基礎數據,比如最近的基金詳情頁。可以直接在最頂層提供基金的基本信息,然后子組件都可以訪問的到,不用每個單獨提供detail的props 屬性。

PS:vue學習- provide / inject

1、解釋

provide / inject這對選項需要一起使用,以允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關系成立的時間里始終生效。

provide 選項應該是:一個對象或返回一個對象的函數
inject 選項應該是:一個字符串數組,或 一個對象,對象的 key 是本地的綁定名

2、示例

父組件中提供

 provide() {
  return {
   map_nodeObj: { map_node: this.obj }
   // 提示:provide 和 inject 綁定并不是可響應的。這是刻意為之的。然而,如果你傳入了一個可監聽的對象,那么其對象的屬性還是可響應的。
  }
 },

子組件中引入

 inject: {
  map_nodeObj: {
   default: () => {
    return {map_node: '0'}
   }
  }
 },

使用: this.map_nodeObj.map_node

3、運行順序

data
provide
created // 在這個階段$el還未生成,在這先處理privide的邏輯,子孫組件才可以取到inject的值
mounted
...

上述就是小編為大家分享的如何在vue中使用inject了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

多伦县| 昆明市| 长汀县| 曲麻莱县| 庆云县| 鄂尔多斯市| 汤原县| 平邑县| 大渡口区| 应用必备| 元氏县| 香格里拉县| 双辽市| 文安县| 班玛县| 威远县| 四会市| 全椒县| 兴化市| 闻喜县| 定西市| 鲁甸县| 荔浦县| 横峰县| 石河子市| 盱眙县| 雷山县| 西丰县| 宝丰县| 涿州市| 亳州市| 宜君县| 盐池县| 鹿泉市| 桐乡市| 济宁市| 大名县| 乐清市| 潼关县| 北京市| 临泽县|