点击按钮
当前位置:首页 > uni-app

uniapp监听事件

2026-03-05 11:39:07uni-app

uniapp监听事件的常见方法

通过@绑定事件 在模板中直接使用@符号绑定事件,例如点击事件:

<button @click="handleClick">点击按钮</button>

对应的methods中定义方法:

methods: {
  handleClick() {
    console.log('按钮被点击');
  }
}

使用uni.$on全局监听 适用于跨页面或组件通信,在发送方使用uni.$emit

uni.$emit('eventName', {data: '传递的数据'});

在接收方使用uni.$on监听:

uni.$on('eventName', (data) => {
  console.log('接收到的数据:', data);
});

使用uni.$once单次监听uni.$on类似,但只触发一次:

uni.$once('eventName', (data) => {
  console.log('仅触发一次的数据:', data);
});

组件间通信 父子组件间通过props$emit: 子组件触发事件:

this.$emit('customEvent', {value: '数据'});

父组件监听:

<child-component @customEvent="handleCustomEvent"></child-component>

页面生命周期监听 在页面生命周期中监听事件,例如onLoad

onLoad() {
  uni.$on('pageEvent', this.handlePageEvent);
},
onUnload() {
  uni.$off('pageEvent', this.handlePageEvent);
}

注意事项

  • 使用uni.$on后,务必在onUnload或合适时机用uni.$off解除绑定,避免内存泄漏。
  • 事件名称建议使用常量管理,避免拼写错误。
  • 跨页面通信时,注意页面栈生命周期,可能需延迟监听。

监听原生事件示例

监听返回按钮事件:

onBackPress() {
  console.log('返回按钮被按下');
  return true; // 阻止默认返回行为
}

监听网络状态变化:

uniapp监听事件

onLoad() {
  uni.onNetworkStatusChange((res) => {
    console.log('网络状态变化:', res);
  });
}

标签: 事件uniapp
分享给朋友:

相关文章

uniapp极光推送

uniapp极光推送

uniapp极光推送集成步骤 准备工作 注册极光推送开发者账号,创建应用获取AppKey。确保uniapp项目已配置好原生插件支持。 安装插件 在uniapp项目manifest.json文件中,选…

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开放…

uniapp树形选择

uniapp树形选择

uniapp树形选择实现方法 使用uni-data-checkbox组件 uniapp内置的uni-data-checkbox组件支持树形结构选择,适用于多级分类场景。配置时需要将数据格式化为树形结构…

uniapp swiper禁止滑动

uniapp swiper禁止滑动

禁用 Swiper 滑动的方法 在 UniApp 中,可以通过设置 disableTouch 属性或动态绑定 touchable 属性来禁止 Swiper 组件的滑动行为。 方法一:通过 disab…

uniapp 绘图

uniapp 绘图

uniapp 绘图方法 使用 Canvas 组件 uniapp 支持通过 canvas 组件实现绘图功能。在模板中声明 canvas 并设置宽度、高度和 ID,通过 JavaScript 调用绘图 A…

react如何绑定事件

react如何绑定事件

React 事件绑定方法 在 React 中绑定事件有多种方式,以下是常见的几种方法: 使用 onClick 或其他事件属性直接绑定 <button onClick={() => co…