当前位置:首页 > 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中实现收起展开面板功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-show或v-if控制显示隐藏 利用Vue的指令可以轻松实现面板的展开和收起: &l…

vue实现选中单元格

vue实现选中单元格

Vue 实现选中单元格的方法 基础实现思路 在 Vue 中实现选中单元格功能,通常可以通过动态绑定 class 或 style 来实现。以下是一个基于表格的简单实现示例: <templ…

vue实现矩阵

vue实现矩阵

Vue 实现矩阵的方法 在 Vue 中实现矩阵操作可以通过多种方式完成,以下是一些常见的方法: 使用二维数组表示矩阵 矩阵可以用二维数组来表示,每个元素对应矩阵中的一个值。在 Vue 的 data…

vue树形实现

vue树形实现

Vue 树形组件实现方法 使用递归组件实现树形结构 递归组件是 Vue 中实现树形结构的常见方法。通过组件调用自身的方式,可以轻松构建多层嵌套的树形结构。 <template> &l…

vue 实现全屏

vue 实现全屏

Vue 实现全屏功能 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 完成。以下是一个完整的实现方案: 安装依赖(可选) 如果需要跨浏览器兼容性更好,可以安装 scre…

vue 简单实现

vue 简单实现

以下是 Vue 的简单实现示例,涵盖基础模板、数据绑定、方法及生命周期: 基础模板与数据绑定 <div id="app"> <p>{{ message }}</p&…