点击按钮
当前位置:首页 > 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消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClou…

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp设置背景

uniapp设置背景

设置全局背景样式 在App.vue文件中添加全局样式,使用page选择器设置页面背景。这种方式会影响所有页面背景。 <style> page { background-color:…

uniapp 壁纸

uniapp 壁纸

使用 Uniapp 开发壁纸应用的方法 实现壁纸展示与切换功能 在 Uniapp 中,可通过 swiper 组件实现壁纸轮播展示。结合 image 组件加载本地或网络壁纸资源,动态绑定 src 属性实…

uniapp审批

uniapp审批

uniapp审批流程实现 在uniapp中实现审批功能,通常需要结合前端界面和后端逻辑。以下是几种常见的实现方式: 前端界面设计 使用uniapp的组件和API构建审批界面,包括表单提交、审批列表展…

uniapp关闭广告

uniapp关闭广告

关闭广告的方法 在UniApp中关闭广告通常涉及以下几个方法,具体操作取决于广告的类型和集成方式。 移除广告模块 检查项目中是否集成了广告SDK或相关组件,如ad、ad-draw等。在pages.j…