当前位置:首页 > uni-app

uniapp事件介绍

2026-03-04 23:29:08uni-app

uniapp 事件基础概念

uniapp 中的事件系统基于 Vue.js,允许开发者通过事件实现组件间的通信或响应用户交互。事件分为原生事件和自定义事件,支持冒泡机制和事件修饰符。

事件绑定语法

在模板中通过 @v-on: 绑定事件:

uniapp事件介绍

<button @click="handleClick">点击触发</button>
<!-- 或 -->
<button v-on:click="handleClick">点击触发</button>

常用事件类型

  • 触摸事件@touchstart, @touchmove, @touchend
  • 点击事件@click, @longpress(长按)
  • 表单事件@input, @change, @submit
  • 生命周期事件:如 @load(图片加载完成)

事件修饰符

uniapp 支持 Vue 的事件修饰符:

  • .stop:阻止事件冒泡
  • .prevent:阻止默认行为
  • .capture:使用捕获模式
  • .self:仅当事件源是自身时触发
  • .once:只触发一次

示例:

uniapp事件介绍

<view @click.stop="handleClick">阻止冒泡</view>
<form @submit.prevent="handleSubmit">阻止表单默认提交</form>

自定义事件

父子组件间可通过自定义事件通信:

  • 子组件触发this.$emit('eventName', data)
  • 父组件监听<child-component @eventName="handler"></child-component>

事件对象

事件处理函数默认接收 event 对象,包含以下常用属性:

  • type:事件类型(如 "click"
  • target:触发事件的 DOM 元素
  • currentTarget:当前绑定的 DOM 元素
  • detail:自定义数据(如 $emit 传递的参数)

跨平台注意事项

  • 部分事件在不同平台表现可能不同(如 longpress 在 H5 端需手动实现)。
  • 使用 uni.$onuni.$emit 可实现全局事件总线,适用于非父子组件通信。

示例代码

// 页面逻辑
methods: {
  handleClick(event) {
    console.log('事件类型:', event.type);
    uni.showToast({ title: '点击事件触发' });
  }
}
<!-- 组件通信示例 -->
<child-component @customEvent="handleCustom"></child-component>

通过合理利用事件系统,可以高效实现 uniapp 应用的交互逻辑。

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

相关文章

uniapp怎么启动

uniapp怎么启动

启动UniApp项目的步骤 确保已安装Node.js(建议版本12+)和HBuilderX(官方IDE)。若未安装,需先下载并配置环境。 安装开发工具 从HBuilderX官网下载对应操作系统的版本…

uniapp实现懒加载

uniapp实现懒加载

uniapp实现懒加载的方法 在uniapp中实现懒加载可以通过多种方式,以下是几种常见的方法: 使用uni.lazyLoad组件 uniapp提供了内置的懒加载组件,适用于图片等资源的懒加载。在页…

uniapp指南

uniapp指南

开发环境搭建 下载HBuilderX作为官方推荐的开发工具,支持Windows和Mac系统。安装后创建uni-app项目,选择模板(如默认模板、Hello Uni-app等)。确保Node.js版本在…

uniapp 搜索

uniapp 搜索

uniapp 搜索功能实现方法 全局搜索组件集成 在pages.json中配置全局搜索栏,适用于所有页面顶部显示搜索框。示例代码: "globalStyle": { "navigationBa…

uniapp gpio

uniapp gpio

在 uniapp 中直接操作 GPIO(通用输入输出)通常需要依赖原生平台的硬件接口,因为 uniapp 本身是基于前端技术的跨平台框架,不直接提供硬件访问能力。以下是实现 GPIO 控制的几种方法:…

投票 uniapp

投票 uniapp

uniapp 投票功能实现 uniapp 是一个基于 Vue.js 的跨平台开发框架,可以用于开发微信小程序、H5、App 等多种应用。实现投票功能需要结合前端界面和后端数据处理。 前端界面设计 使…