組件通訊
父傳子
通過在標(biāo)簽綁定數(shù)據(jù)
props:['mag']
子傳遞父
? ? //子:定義一個(gè)自定義事件
? ? this.$emit(‘created’,val)
? ? //caeated 自定義事件的名字 val你要攜帶的數(shù)據(jù)
? ? //父:接收使用自定義事件
? ?
? ? methods:{
? ? ? ? changeVal(val){//然后data里面定義
? ? ? ? ? ? this.value = val;
? ? ? ? }
? }
總結(jié)
父組件向子組件傳遞數(shù)據(jù)是通過props
子組件向父組件傳遞數(shù)據(jù)是通過事件
中央通訊
定義一個(gè)空的vue對(duì)象
? ? const centre = new Vue()
? ? Vue.component('Aaa',{
? ? template:'
我是aaaaaaa
',//點(diǎn)擊A的時(shí)候? ? methods:{
? ? ? ? aaa(){
? ? ? ? ? ? sub.$emit('is-aaaa');//發(fā)送一個(gè)is-aaaa函數(shù) 然后一直冒泡 直到找到$on
? ? ? ? ? ? }
? ? ? ? }
? ? });
Vue.component('Bbb',{
? ? props:['mag'],
? ? template:`
{{mag}}
`,? ? created() {
? ? ? ? sub.$on('is-aaaa',()=> {//接收 然后執(zhí)行 什么
? ? ? ? ? ? this.mag = '我是改變后的'
? ? ? ? })
? ? }
});