当前位置:首页 > VUE

vue中$on实现

2026-01-17 02:16:27VUE

在Vue中,$on是事件监听的核心方法,用于监听自定义事件。以下是具体实现方式及注意事项:

基本用法

通过this.$on(eventName, callback)监听事件,eventName为事件名称字符串,callback是触发时执行的函数。例如:

vue中$on实现

this.$on('custom-event', (payload) => {
  console.log('事件触发,参数:', payload);
});

事件触发

使用$emit触发对应事件:

this.$emit('custom-event', { data: 'test' });

监听子组件事件

在父组件模板中可直接用v-on@监听子组件事件:

vue中$on实现

<child-component @custom-event="handleEvent" />

对应方法:

methods: {
  handleEvent(payload) {
    console.log('子组件触发事件:', payload);
  }
}

移除监听

通过$off移除特定事件监听:

// 移除单个事件
this.$off('custom-event');
// 移除所有事件
this.$off();

注意事项

  • 事件名建议使用kebab-case(如my-event),避免与HTML大小写不敏感特性冲突
  • 避免滥用事件通信,复杂场景建议使用Vuex状态管理
  • 组件销毁前需手动移除监听,防止内存泄漏

标签: vueon
分享给朋友:

相关文章

vue实现分发

vue实现分发

Vue 实现分发的方法 在 Vue 中,分发(Distribution)通常指的是将内容从父组件传递到子组件,或者通过插槽(Slots)机制让父组件控制子组件的部分渲染内容。以下是几种常见的实现分发的…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…

vue底部实现

vue底部实现

Vue 底部实现方法 在 Vue 项目中实现底部布局可以通过多种方式完成,以下是一些常见的方法: 使用固定定位 将底部元素固定在页面底部,适用于单页应用或需要始终显示的底部栏。 <temp…

vue实现反馈

vue实现反馈

Vue 实现反馈功能的方法 在 Vue 中实现反馈功能可以通过多种方式,包括弹窗提示、Toast 消息、表单提交等。以下是几种常见的实现方法。 弹窗反馈 使用 Vue 的组件化特性创建一个弹窗组件,…

vue实现城市

vue实现城市

Vue 实现城市选择功能 使用 Element UI 的 Cascader 组件 Element UI 提供了一个 Cascader 级联选择器组件,非常适合实现城市选择功能。需要先安装 Elemen…

vue实现滚动显示

vue实现滚动显示

Vue 实现滚动显示的几种方法 在 Vue 中实现滚动显示可以通过多种方式实现,以下是几种常见的方法: 使用 CSS 动画 通过 CSS 的 animation 属性结合 @keyframes 实现…