vue組件間的通信有父--->子、子--->父、非父子之間的通信
雖然我們稍微復(fù)雜的項(xiàng)目都用vuex來管理了,但是還是想寫一篇關(guān)于有父--->子、子--->父、非父子
之間通信的文章。下面通過代碼來講述
父--->子組件間的通信
父級(jí)頁面:
import Header from './components/header'
export default {
name: 'App',
data () {
return {
parentMsg: '你訪問的是父級(jí)頁面的數(shù)據(jù)',
}
},
components:{
Header,
}
}
子頁面:
{{parentMsg}}
export default {
name: 'Header',
props:['parentMsg'], //接收父級(jí)頁面?zhèn)鬟^來的數(shù)據(jù)
data(){
return {
parentMsg:''
}
}
}
子--->父組件間的通信
父級(jí)頁面:
父級(jí)頁面接收子頁面的數(shù)據(jù):{{user}}
子頁面:
{{parentMsg}}
header頁面{{msg}}
非父子組件頁面間的通信,可以使用EventBus
使用EventBus首先需要新建一個(gè)EventBus.js,代碼如下:
import Vue from 'vue'
export default new Vue()
// import Vue from 'vue'
// const EventBus = new Vue()
// export {EventBus}
子頁面1:
子頁面2:
sub頁面接收header頁面?zhèn)鬟^來的數(shù)據(jù):{{msg}}
以上就是組件間同信的三種方式,還有一種通信就是vuex,vuex在本文就不寫了,之前寫過一篇對(duì)vuex
的使用及理解。針對(duì)一些數(shù)據(jù)比較難管理的項(xiàng)目來說還是用vuex,方便數(shù)據(jù)的管理。