vue像是一个由组件组成的金字塔,组件中需要信息的传递
1.父子组件通讯:
1.子传父:
this.$emit('method','params');
2.父传子:
props:{
param:{
type:TYPE,
default:DEFAUIT_VALUE
}
}
2.多级组件之间传递:
当多级组件之间需要信息传递的时候,这时候我们再使用父子组件传递信息的方式逐层传递,那么就会显得很笨重,这个时候就需要使用事件总线
3.main.js中注册事件总线:
Vue.prototype.bus = new Vue()
4.在组件中使用:
methods:{
chuandi(){
this.bus.$emit('ceshi',{name:'zhangsanss',age:24})
}
}
5.在多级父组件中接收事件:
mounted(){
this.bus.$on('ceshi' ,(e)=>{
console.log(e)
console.log('接收事件总线事件')
})
}
打印数据截图
网友评论