1. 程式人生 > 其它 >元件之間的傳遞資料的方式

元件之間的傳遞資料的方式

元件之間的傳遞資料的方式

、父子間通訊:父傳子
子元件內定義props屬性,父元件通過v-bind(:)向子元件傳遞資料

2、父子間通訊:父傳子
當子元件內部沒有定義props屬性時,可以在父元件上用v-bind傳遞資料,子元件通過this.$attrs獲取,獲取過來是一個物件,裡面包含所有父元件傳遞過來的資料

3、父子間通訊:子傳父
子元件內this.$emit(事件名,傳遞引數)

父元件v-on(@)監聽子元件發射的事件

4、任意元件間的通訊
在vue的原型上定義一個$bus,再建立一個vue例項,把vue例項賦值給$bus,通過給$bus發射事件,在任意一個元件上都能通過this.$bus.$on監聽到,也可以通過this.$bus.$off取消當前事件匯流排的監聽

Vue.prototype.$bus = new Vue()
this.$bus.$emit('itemImageLoad',data)
this.$bus.$on('itemImageLoad',data => {})

5、ref和this.$refs:父元件拿到子元件內的資料(子傳父)
給一個子元件定義一個refs,之後父元件就能通過this.$refs獲取這個元件

<tabbar class='btn' ref='a'/>

this.$refs.a //獲取到tabbar
獲取到這個元件後就可以拿到元件內部定義的資料和方法

6、vuex
在沒有多少聯絡的元件之間傳遞資料,相當於一個大倉庫,vue中的所有元件都會拿到裡面的資料