当前位置:首页 > VUE

vue中$on实现

2026-01-17 02:16:27VUE

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

基本用法

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

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

事件触发

使用$emit触发对应事件:

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

监听子组件事件

在父组件模板中可直接用v-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状态管理
  • 组件销毁前需手动移除监听,防止内存泄漏

vue中$on实现

标签: vueon
分享给朋友:

相关文章

vue 实现全选

vue 实现全选

Vue 实现全选功能 在 Vue 中实现全选功能通常需要结合复选框的状态管理,以下是几种常见的实现方式: 使用 v-model 绑定数组 通过 v-model 绑定一个数组来管理选中的项,全…

vue 页签实现

vue 页签实现

Vue 页签实现方法 在 Vue 中实现页签功能通常涉及动态组件、路由或状态管理。以下是几种常见的实现方式: 使用动态组件 通过 Vue 的 <component> 动态组件结合 v-f…

vue实现裁剪头像

vue实现裁剪头像

Vue 实现头像裁剪功能 实现头像裁剪功能通常需要结合第三方库如 cropperjs 或 vue-cropper。以下是两种常见实现方式: 使用 vue-cropper 库 安装依赖: n…

vue实现滚动截屏

vue实现滚动截屏

实现滚动截屏的基本思路 滚动截屏通常指对超出可视区域的长页面进行完整截图。在Vue中,可以通过结合DOM操作、Canvas绘制及第三方库实现。以下是具体方法: 使用html2canvas库实现…

vue实现查询替换

vue实现查询替换

Vue 实现查询替换功能 在 Vue 中实现查询替换功能,可以通过数据绑定和字符串操作方法结合实现。以下是具体实现方式: 基础实现 <template> <div>…

vue公共列表的实现

vue公共列表的实现

实现 Vue 公共列表组件 公共列表组件通常用于展示重复结构的数据,例如商品列表、用户列表等。以下是一个典型的实现方式: 基础实现 创建可复用的列表组件 List.vue: <tem…