vue中$on和$emit用法理解

来源:互联网 发布:高中数学教学软件 编辑:程序博客网 时间:2024/06/05 08:39

很期待奇门遁甲这部电影,谁是老大?伍佰一开口就仿佛回到了挪威的森林、突然的自我时代,哈哈哈,且看我独孤九剑向天涯……

回归正题,在vue中有这样的一个方法,$on,$emit,就在开发中,我用的比较多的是$emit,对,就是传递一个函数方法。用过的人都知道!!

今天在走查项目代码的时候,看到旁边大神用到了一组方法,$on 、 $off、 然后接着$emit 

理解不是特别透,随即请教了 ,这里先做笔记,随后练习

在官方文档中这样定义,

vm.$on( event, callback )

  • 参数

    • {string | Array<string>} event (数组只在 2.2.0+ 中支持)
    • {Function} callback
  • 用法

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

  • 示例

    vm.$on('test', function (msg) {  console.log(msg)})vm.$emit('test', 'hi')// => "hi"
是的,一个监听事件。

事件使用步骤是这样的,首先创建实例文件,bus.js,引入vue实例。

然后封装实例,$on ,这里面就定义了事件了。关键点是使用到了$off。分别对应created,destroyed

在组件中,相同事件的触发就可以在组件里面直接调用了。感觉很有用。有些东西会重复写很多,这样减少了 代码量