当前位置:首页 > 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开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

uniapp 线程

uniapp 线程

uniapp 线程的概念 在 uniapp 中,线程的概念与原生应用开发有所不同。由于 uniapp 是基于 JavaScript 的运行环境,它并不直接支持多线程操作。JavaScript 本身是单…

uniapp 销售日报

uniapp 销售日报

实现销售日报功能的步骤 数据收集与整理 销售日报需要收集每日销售数据,包括销售额、订单数量、商品类别等。数据可以从后端API获取或本地数据库存储。使用uni.request调用接口获取数据,确保数据结…

uniapp 网络封装

uniapp 网络封装

uniapp 网络请求封装方法 uniapp 提供了 uni.request 方法进行网络请求,但直接使用可能导致代码重复和维护困难。封装网络请求可以提高代码复用性和可维护性。 基础封装示例 创建一…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…