请问vue中,$on是什么
时间: 2024-02-02 20:02:47 浏览: 79
vue中$refs, $emit, $on, $once, $off的使用详解
在 Vue 中,`$on` 是一个实例方法,用于监听一个自定义事件。语法如下:
```javascript
vm.$on(event, callback)
```
其中,`event` 表示自定义事件的名称,`callback` 则是事件触发时要执行的回调函数。
通过 `$on` 方法绑定的事件,可以通过 `$emit` 方法来触发,语法如下:
```javascript
vm.$emit(event, [arg1, arg2, ...])
```
其中,`event` 表示要触发的事件名称,后面的参数则是传递给回调函数的参数。
举个例子,假设我们在某个组件中绑定了一个自定义事件 `my-event`,并且在回调函数中打印了一个字符串。那么当我们在其他地方通过 `$emit` 触发这个事件时,就会执行这个回调函数并打印出这个字符串。
```javascript
<template>
<div>
<button @click="emitEvent">触发事件</button>
</div>
</template>
<script>
export default {
methods: {
emitEvent() {
this.$emit('my-event')
}
},
mounted() {
this.$on('my-event', () => {
console.log('事件已触发')
})
}
}
</script>
```
当我们点击按钮时,就会触发 `my-event` 事件,并执行回调函数打印出 `事件已触发`。
阅读全文