Vue.js中vm.$on有什么实际意义?怎么使用?文档里的监听又是什么意思呢?

JavaScript014

Vue.js中vm.$on有什么实际意义?怎么使用?文档里的监听又是什么意思呢?,第1张

```js

// 创建vue实例。

var vm = new Vue()

// 创建事件监听 @params 监听的事件名 回调函数。

vm.$on('start', function (params) {

console.log(params + ',我让start 事件触发了')

})

// 主动触发事件,此时会触发监听的回调(我们打印的代码就会运行) @params 触发的事件名 传递的参数。

vm.$emit('start', '我是触发传递的参数')

```

Vue的$on就和addEventListener差不多,是创建一个事件监听,

$emit 就和自定义事件一样,你主动创建了一个事件,并且让这个事件触发了。

一般用来vue非父子组件之间传递数据(Vue的bus)

// emit 是用来抛出事件(方法)的,如:

this.$emit('eventName', params)  // eventName: 事件名 params: 参数,多个时使用,号隔开

// on 是用来监控emit抛出的事件(方法)的,如:

this.$on('eventClick', params)

methods: {

    eventClick: function(params) {

    }

}

// 大概就是这样子,希望能帮到你~