首页 > 其他 > 详细

Vue $操作符的集中常见用法(一) 事件监听、触发、移除

时间:2021-02-20 09:45:31      阅读:43      评论:0      收藏:0      [点我收藏+]

一、Vue中的事件监听

vm.$on(event, callback )

参数:

    { String | Array<String> } event
    
    { function } callback

监听当前实例上的自定义事件,事件可以由 vm.$emit触发。回调函数会接收所有传入参数触发函数的额外参数

实例:

$vm.$on(‘test‘, function(msg){ alert(‘123‘)})
$vm.$emit(‘test‘, ‘hi‘)

v-on 事件监听器绑定

缩写: @

参数: event

用法: 绑定事件监听器。事件类型由参数决定。表达式可以是一个方法的名字或者一个内联语句,修饰符可省略。

用在普通元素上 ===> 监听原生DOM事件

用在自定义组件上 ===> 可监听子组件触发的自定义事件

修饰符:

  • .stop - 调用 event.stopPropagation()。
  • .prevent - 调用 event.preventDefault()。
  • .capture - 添加事件侦听器时使用 capture 模式。
  • .self - 只当事件是从侦听器绑定的元素本身触发时才触发回调。
  • .{keyCode | keyAlias} - 只当事件是从特定键触发时才触发回调。
  • .native - 监听组件根元素的原生事件。
  • .once - 只触发一次回调。
  • .left - (2.2.0) 只当点击鼠标左键时触发。
  • .right - (2.2.0) 只当点击鼠标右键时触发。
  • .middle - (2.2.0) 只当点击鼠标中键时触发。
  • .passive - (2.3.0) 以 { passive: true } 模式添加侦听器

比较

v-on vm.$on
可监听普通dom的原生事件;可监听子组件emit的自定义事件; 监听当前实例的自定义事件

总结

一个组件实例的定义事件既可以通过.$on被自身捕获,也可以通过v-on被父级捕获。事件想要传到父级组件,必须用emit进行bubble处理。

vm.$once(event, callback)

监听一个自定义事件,但是只触发一次,一旦触发之后,事件监听器就会被移除

二、Vue触发事件监听

vm.$emit(eventName, [...args])

触发当前实例上的事件,附加参数都会加给监听器回调。

三、移除事件监听器

vm.$off([event, callback])

移除自定义的事件监听器。

  • 如果没有提供参数,则移除所有的事件监听器。
  • 如果只提供了事件名,则移除该事件所有的监听器。
  • 如果同时提供了事件名和回调,则只移除这个回调的监听器。

Vue $操作符的集中常见用法(一) 事件监听、触发、移除

原文:https://www.cnblogs.com/FBIWaring/p/14419059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!