$emit,$on,$off--vue
父组件可以使用 props 把数据及父组件的的方法传给子组件。例:@click='close'
子组件可以使用 $emit 触发父组件的自定义事件。例:close(){ this.$emit('closeModal')}
vm.$emit( event, arg ) //触发当前实例上的事件,arg是传递给父组件的参数
vm.$on( event, fn ) //监听event事件后运行 fn
$off(type, fn) //注销消息方法 type:消息名称 fn:消息回调函数
$emit:
this $emit(‘自定义事件名’,要传送的数据);触发当前实例上的事件,要传递的数据会传给监听器;
//父组件:
//子组件:
客服电话 {{tel}} 工作时间:(09:00-18:00) 取消
$on
this.$on ( ′ 事 件 名 ′ ,callback ); callback回调emit要传送的数据
监听当前实例上的自定义事件。事件可以由vm.emit触发。回调函数会接收所有传入事件触发函数的额外参数。注:使用$on监听后,记得使用$off`销毁事件。
$off
1)如果没有提供参数,则移除所有的事件监听器;
2)如果只提供了事件,则移除该事件所有的监听器;
3)如果同时提供了事件与回调,则只移除这个回调的监听器。
使用$on和$off后,子组件发生变化
//父组件依然使用上边$emit的父组件
//子组件:
客服电话 // {{}} 使用插值表达式引用tel(有的人也叫它大胡子表达式){{tel}} 工作时间:(09:00-18:00) 取消
官方文档:$emit | Vue.js
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
