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

vue中通過使用$attrs實現(xiàn)組件之間的數(shù)據(jù)傳遞功能

 更新時間:2019年09月01日 16:20:48   作者:學霸貓  
組件之間傳遞數(shù)據(jù)的方式有很多種,之所以有這么多種方式,是為了滿足在不同場景不同條件下的使用。這篇文章主要介紹了vue中通過使用$attrs實現(xiàn)組件之間的數(shù)據(jù)傳遞,需要的朋友可以參考下

組件之間傳遞數(shù)據(jù)的方式有很多種,之所以有這么多種方式,是為了滿足在不同場景不同條件下的使用。

一般有三種方式:

props
vuex
Vue Event Bus

本文介紹的是使用$attrs的方式。

這是$attrs的官網(wǎng)api https://cn.vuejs.org/v2/api/#vm-attrs

這個api是在2.4版本中添加的,那么為什么要添加這個特性呢?
看看官網(wǎng)是怎么解釋的

包含了父作用域中不作為 prop 被識別 (且獲取) 的特性綁定 ( class  和  style  除外)。

當一個組件沒有聲明任何 prop 時,這里會包含所有父作用域的綁定 ( class  和  style  除外),

并且可以通過  v-bind="$attrs"  傳入內(nèi)部組件——在創(chuàng)建高級別的組件時非常有用。

第一次看的話真是不容易看懂,這里是既包含用法又隱晦的說明了為什么使用,還是我來解釋一下吧。

意思就是: $attrs 可以收集父組件中的所有傳過來的屬性除了那些在組件中沒有通過  props 定義的。

引申說明一下,如果組件的嵌套層級有點深但又不那么深,比如三層。

我們?nèi)绻褂胮rops的話,最里面的組件想要獲取最外層組件的數(shù)據(jù),就要通過中間的組件的props來傳遞,

但是這個props對于中間的這個組件沒啥用處,它就是做了一個橋梁而已。我們平時寫代碼時候其實經(jīng)常碰到

這種場景,寫起來有時候覺得挺煩的。所以就有了這個$attrs來幫助我們,不必在中間組件中寫props就可以讓

最里面的組件拿到最外面組件傳進來的數(shù)據(jù)。

那么,具體怎么使用呢?

看看下面的代碼吧,很簡單就懂了

準備三個組件

 

里面的代碼如下

//grandfather
<template>
 <div style="background: blue">
  father in grandfather
  <father :father-age="50" :child-time="`${time}`"></father>
 </div>
</template>
<script>
import father from './father'
export default {
 components: {
  father
 },
 data () {
  return {
   time: new Date().getTime()
  }
 }
}
</script>

//father
<template>
 <div style="background: red">
  child in father
  <div>
   <span>father age:</span>{{fatherAge}}
  </div>
  <child v-bind="$attrs"></child>
 </div>
</template>
<script>
import child from './child'
export default {
 components: {
  child
 },
 props: {
  fatherAge: {
   type: Number,
   default: 0
  }
 }
}
</script>

//child<template>
 <div style="background: green">
  <div>child</div>
  <div>time: {{childTime}}</div>
 </div>
</template>
<script>
export default {
 props: {
  childTime: {
   type: String,
   default: ''
  }
 }
}
</script>

需要從爺爺組件直接傳給子組件的數(shù)據(jù),不要在父組件中的props中聲明。

在子組件上通過v-bind的方式就可以把父組件中未聲明而子組件需要從爺爺組件中獲取的數(shù)據(jù)傳給子組件。

當然,子組件props肯定是要聲明的,還是props的用法啦。

總結(jié)

以上所述是小編給大家介紹的vue中通過使用$attrs實現(xiàn)組件之間的數(shù)據(jù)傳遞功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

相關(guān)文章

  • Vue+Element實現(xiàn)表格單元格編輯

    Vue+Element實現(xiàn)表格單元格編輯

    這篇文章主要為大家詳細介紹了Vue+Element實現(xiàn)表格單元格編輯,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vuex中State的使用方法

    Vuex中State的使用方法

    這篇文章主要介紹了Vuex中State的使用方法,Vuex 使用單一狀態(tài)樹,用一個對象就包含了全部的應(yīng)用層級狀態(tài),這也意味著,每個應(yīng)用將僅僅包含一個 store 實例,需要的朋友可以參考下
    2023-11-11
  • 使用Vue開發(fā)一個實時性時間轉(zhuǎn)換指令

    使用Vue開發(fā)一個實時性時間轉(zhuǎn)換指令

    我們就來實現(xiàn)這樣一個Vue自定義指令v-time,將表達式傳入的時間戳實時轉(zhuǎn)換為相對時間。下面小編給大家?guī)砹耸褂肰ue開發(fā)一個實時性時間轉(zhuǎn)換指令,需要的朋友參考下吧
    2018-01-01
  • vue vantUI實現(xiàn)文件(圖片、文檔、視頻、音頻)上傳(多文件)

    vue vantUI實現(xiàn)文件(圖片、文檔、視頻、音頻)上傳(多文件)

    這篇文章主要介紹了vue vantUI實現(xiàn)文件(圖片、文檔、視頻、音頻)上傳(多文件),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Vue異步組件使用詳解

    Vue異步組件使用詳解

    這篇文章主要為大家詳細介紹了Vue異步組件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • vue中axios的封裝問題(簡易版攔截,get,post)

    vue中axios的封裝問題(簡易版攔截,get,post)

    這篇文章主要介紹了vue中axios的封裝問題(簡易版攔截,get,post),需要的朋友可以參考下
    2018-06-06
  • vue3父子同信的雙向數(shù)據(jù)的項目實現(xiàn)

    vue3父子同信的雙向數(shù)據(jù)的項目實現(xiàn)

    我們知道的是,父傳子的通信,和子傳父的通信,那如何實現(xiàn)父子相互通信的呢,本文就來詳細的介紹一下,感興趣的可以了解一下
    2023-08-08
  • 基于Vue uniapp實現(xiàn)貪吃蛇游戲

    基于Vue uniapp實現(xiàn)貪吃蛇游戲

    貪吃蛇游戲想必是很多70、80后的回憶,一直到現(xiàn)在也深受大家的喜歡。本文將利用Vue+uniapp實現(xiàn)這一經(jīng)典的游戲,感興趣的可以了解一下
    2022-04-04
  • vue實現(xiàn)點擊按鈕倒計時

    vue實現(xiàn)點擊按鈕倒計時

    這篇文章主要為大家詳細介紹了vue實現(xiàn)點擊按鈕倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Vue中的?watch監(jiān)聽屬性詳情

    Vue中的?watch監(jiān)聽屬性詳情

    這篇文章主要介紹了Vue中的?watch監(jiān)聽屬性詳情,mputed計算屬性用來監(jiān)聽多個數(shù)據(jù);watch?監(jiān)聽單個數(shù)據(jù);本文將具體介紹的是?watch監(jiān)聽屬性,感興趣的小伙伴可以參考一下文章的具體內(nèi)容,希望對你有所幫助
    2021-12-12

最新評論

凌源市| 青龙| 汉川市| 龙海市| 琼中| 樟树市| 保康县| 甘德县| 丰原市| 若羌县| 银川市| 岐山县| 东丰县| 邯郸市| 略阳县| 大石桥市| 襄城县| 蒙山县| 井冈山市| 高要市| 柳河县| 吉隆县| 和平县| 北京市| 孝义市| 德钦县| 竹山县| 库伦旗| 都江堰市| 景德镇市| 石狮市| 博客| 周宁县| 河北区| 郎溪县| 克拉玛依市| 突泉县| 无锡市| 道孚县| 涿州市| 洛宁县|