一种组件键通信的方式,使用 子组件==》父组件 (子传递给父组件,子绑定事件)
使用场景:A是父组件 B是子组件 B想给A传数据 那么就要在A中给B绑定自定是事件(事件的回调在A中)
绑定自定义事件的方式 v-on==@
第一种方式,在父组件中: <子组件名 v-on:自定义事件名称="你传递的函数,你需要完成的内容"/>
第二种方式,在父组件中: <子组件名 ref="名称(相当于id)"/> 打标识 获取组件DOM元素
this.$refs.student ====组件实例对象 绑定了自定义事件名 +方法
mounted() {
this.$refs.student.$on('自定义事件名',this.方法)
}
若想要自定义事件只能触发一次,跨域使用once修饰,或者$once方法
触发自定义事件 this.$emit('自定是事件名称',传递的数据);==子组件上触发
解绑自定义事件 this.$off('自定是事件名称')//解绑一个自定义事件==子组件中
组件上也可以绑定原生DOM事件,需要使用修饰符native-==父组件
通过 this.$refs.student.$on('自定义事件名',回调函数) 绑定自定义事件时候,回调要么配置在methods中,要么使用箭头函数,否则this指向有问题