位置: IT常识 - 正文

【uniapp】 的事件处理详解(uniapp实战)

编辑:rootadmin
【uniapp】 的事件处理详解

推荐整理分享【uniapp】 的事件处理详解(uniapp实战),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:/uniapp,uniapp示例,uniapp常用方法,uniapp实战教程,uniapp实战教程,uniapp实战教程,uniapp示例,uniapp示例,内容如对您有帮助,希望把文章链接给更多的朋友!

UniApp 是一个跨平台的开发框架,支持多种前端框架(Vue、React、Angular 等),并能打包成多种运行平台(H5、小程序、App 等)。在 UniApp 中,事件处理非常重要,通过事件处理可以实现用户与应用程序之间的交互。下面是 UniApp 中常用的事件处理方式:

1. 绑定事件

在模板中可以通过 @ 符号绑定事件,例如:

<button @click="handleClick">点击我</button>这里绑定了一个 click 事件,并且绑定的函数是 handleClick。2. 事件修饰符【uniapp】 的事件处理详解(uniapp实战)

事件修饰符是指在绑定事件时使用的一些特殊符号,用于修改事件的行为。常见的事件修饰符包括:

prevent:阻止默认行为stop:阻止事件冒泡capture:使用事件捕获模式self:只有当事件是从事件源本身触发时才触发回调函数once:只触发一次回调函数passive:提高页面滚动的流畅度

例如:

<!-- 阻止默认行为 --><button @click.prevent="handleClick">点击我</button><!-- 阻止事件冒泡 --><button @click.stop="handleClick">点击我</button><!-- 使用事件捕获模式 --><button @click.capture="handleClick">点击我</button><!-- 只有当事件是从事件源本身触发时才触发回调函数 --><button @click.self="handleClick">点击我</button><!-- 只触发一次回调函数 --><button @click.once="handleClick">点击我</button><!-- 提高页面滚动的流畅度 --><button @click.passive="handleClick">点击我</button>.prevent 和 .stop 是两种不同的事件修饰符,虽然它们有一些相似之处,但是在事件处理中有不同的作用。1 .prevent 用于阻止事件的默认行为,例如阻止 <a> 标签的默认跳转、阻止表单的默认提交等。如果一个事件被 .prevent 修饰符修饰了,则在事件触发时,不会执行事件的默认行为,而只会执行`绑定的事件处理函数`。2 .stop 用于阻止事件的冒泡传播,事件冒泡是指当一个元素触发事件时,该事件会向父级元素传播。如果一个事件被 .stop 修饰符修饰了,则在事件触发时,不会向上层元素传播该事件,而只会在当前元素内部进行处理。因此,.prevent 和 .stop 的作用是不同的,但是它们都能够阻止事件的默认行为。.prevent 用于阻止元素的默认行为,.stop 用于阻止事件的冒泡传播。具体示例:当一个链接被点击时,会触发 click 事件。如果链接没有设置 href 属性,则默认的行为是不进行跳转,但如果设置了 href 属性,则会跳转到 href 指定的页面。在这种情况下,可以使用 .prevent 和 .stop 修饰符来阻止链接的默认跳转行为和冒泡传播。我们给链接设置了 href 属性,并绑定了 click 事件和 handleLinkClick 方法。同时,我们在链接上使用了 .prevent 和 .stop 修饰符来阻止默认的跳转行为和冒泡传播。<template> <div @click="handleDivClick">//上层点击事件。用了检测下面的点击事件有没有冒泡上来 <a href="https://www.example.com" @click.prevent.stop="handleLinkClick">点击我</a> </div></template><script>export default { methods: { handleLinkClick() { console.log('内部事件————链接被点击了'); }, handleDivClick() { console.log('外部事件————div 被点击了'); } }};</script>在点击链接时,控制台会输出 【内部事件————链接被点击了】链接被点击了,而不会进行跳转。同时,由于使用了 .stop 修饰符,事件也不会向上层元素冒泡传播,因此点击链接时不会触发外部事件 handleDivClick 方法。1、如果我们把 .prevent 修饰符去掉,点击链接时会进行跳转。说明默认行为存在,但是被阻止了。2、如果把 .stop 修饰符去掉,点击链接时会触发 handleDivClick 方法。说明点击事件冒泡了。这说明了 .prevent 和 .stop 修饰符的区别,.prevent 可以阻止默认行为,.stop 可以阻止冒泡传播。默认行为指的是元素在触发某些事件时,浏览器会执行的预设行为。例如,当用户点击一个链接时,浏览器默认会跳转到该链接所指定的 URL。当用户提交一个表单时,浏览器默认会向服务器发送表单数据并刷新页面。这些行为是浏览器内置的,可以通过 JavaScript 代码来阻止或修改。3. 内置事件

在 UniApp 中,还有一些内置事件可以使用。这些事件是指在特定情况下自动触发的事件,例如:

onLoad:页面加载完成时触发onReady:页面初次渲染完成时触发onShow:页面展示时触发onHide:页面隐藏时触发onUnload:页面卸载时触发

这些事件可以在页面或组件中使用,例如:

export default { onLoad() { console.log('页面加载完成'); }, onReady() { console.log('页面初次渲染完成'); }, onShow() { console.log('页面展示'); }, onHide() { console.log('页面隐藏'); }, onUnload() { console.log('页面卸载'); }}4. 自定义事件

在 UniApp 中,还可以通过 uni.emit和uni.emit 和 uni.emit和uni.on 方法来实现自定义事件的处理。例如:

// 发送自定义事件uni.$emit('myEvent', {data: '自定义事件参数'});// 监听自定义事件uni.$on('myEvent', (data) => { console.log('接收到自定义事件', data);});这里通过 uni.$emit 发送了一个名为 myEvent 的自定义事件,并传递了一个参数 {data: '自定义事件参数'}。在需要监听该事件的地方,可以使用 uni.$on 方法来监听该事件,并在回调函数中处理事件。5. 事件对象

在事件处理函数中,可以通过 $event 参数来获取事件对象,事件对象包含了事件的一些信息,例如:

type:事件类型 target:事件源 currentTarget:当前组件 detail:自定义数据 例如:

<button @click="handleClick">点击我</button>methods: { handleClick($event) { console.log('事件类型', $event.type); console.log('事件源', $event.target); console.log('当前组件', $event.currentTarget); console.log('自定义数据', $event.detail); }}以上就是 UniApp 中常用的事件处理方式,包括绑定事件、事件修饰符、内置事件、自定义事件和事件对象。掌握这些知识,可以更加灵活地处理事件,实现丰富的用户交互效果。
本文链接地址:https://www.jiuchutong.com/zhishi/292955.html 转载请保留说明!

上一篇:【vue】vuex中modules的基本用法(vuex model)

下一篇:面试官:一千万的数据,你是怎么查询的(面试官:一千万是真的吗)

  • 营销技巧:微信营销如何做到年销售过亿(微信营销手法)

    营销技巧:微信营销如何做到年销售过亿(微信营销手法)

  • 华为nova4屏幕底下有黑边吗(华为nova 4屏幕)

    华为nova4屏幕底下有黑边吗(华为nova 4屏幕)

  • airpods滴滴响(airpods滴滴响怎么关)

    airpods滴滴响(airpods滴滴响怎么关)

  • 手机最低音量太大怎么办(手机最低音量太大怎么调节)

    手机最低音量太大怎么办(手机最低音量太大怎么调节)

  • ios13.4小白点不见了(ios13.5小白点怎么设置)

    ios13.4小白点不见了(ios13.5小白点怎么设置)

  • 开直播如何找货源(开直播如何找货源买东西)

    开直播如何找货源(开直播如何找货源买东西)

  • 什么是晶体管(什么是晶体管的甲类、乙类和甲乙类工作状态?)

    什么是晶体管(什么是晶体管的甲类、乙类和甲乙类工作状态?)

  • 无线网白天能用晚上用不了(无线网白天用不了,晚上就好了)

    无线网白天能用晚上用不了(无线网白天用不了,晚上就好了)

  • 手机修理店换外屏注意(去外面修手机)

    手机修理店换外屏注意(去外面修手机)

  • 查找不可用,无法连接服务器怎么回事(查找不可用无法连接服务器请稍后再试)

    查找不可用,无法连接服务器怎么回事(查找不可用无法连接服务器请稍后再试)

  • 苹果xr几种解锁方式(苹果xr几种解锁方式图片)

    苹果xr几种解锁方式(苹果xr几种解锁方式图片)

  • word字间距怎么弄(Word字间距怎么设置)

    word字间距怎么弄(Word字间距怎么设置)

  • 华为mate30怎么关闭最近使用的应用(华为mate30怎么关闭自动更新)

    华为mate30怎么关闭最近使用的应用(华为mate30怎么关闭自动更新)

  • 小米6是怎么降温的(小米6怎么降低系统版本)

    小米6是怎么降温的(小米6怎么降低系统版本)

  • 华为p20哪一年上市的(华为p20手机哪年上市)

    华为p20哪一年上市的(华为p20手机哪年上市)

  • 京东如何公对公付款(京东如何公对公购买)

    京东如何公对公付款(京东如何公对公购买)

  • 打电话的图标没了怎么办(打电话的图标没有了)

    打电话的图标没了怎么办(打电话的图标没有了)

  • 小米8如何开启录音功能(小米8如何开启开发者选项)

    小米8如何开启录音功能(小米8如何开启开发者选项)

  • 无线网络间歇性卡顿(无线网络间歇性断开)

    无线网络间歇性卡顿(无线网络间歇性断开)

  • dotnetfx.exe是什么进程(dotnetfx35.exe)

    dotnetfx.exe是什么进程(dotnetfx35.exe)

  • 【Anaconda创建虚拟环境】报错及解决办法(anaconda创建虚拟环境有什么用)

    【Anaconda创建虚拟环境】报错及解决办法(anaconda创建虚拟环境有什么用)

  • 田里的拖拉机和装载着卷心菜的拖车,奥地利圣珀尔滕 (© Stephan Zirwes/Getty Images)(拖拉机拖拉机耕地)

    田里的拖拉机和装载着卷心菜的拖车,奥地利圣珀尔滕 (© Stephan Zirwes/Getty Images)(拖拉机拖拉机耕地)

  • 织梦dedecms内容页上一页下一页链接调用教程(织梦cms要钱吗)

    织梦dedecms内容页上一页下一页链接调用教程(织梦cms要钱吗)

  • 交车辆购置税会计账务处理
  • 预计负债的会计核算
  • 个人所得税租房专项扣除标准
  • 记账王怎么查询凭证
  • 申报过后财务报告怎么查
  • 医疗胶片扫描仪怎么用
  • 所得税费用期初有余额吗
  • 土地出让金进项税税率
  • 库存商品记错了怎样写分录
  • 企业设备维修管理制度
  • 土地增值税清算比例的计算
  • 制造费用的核算程序是什么
  • 小规模纳税人进货需要发票吗
  • 抵税必须要有发票
  • 不经常发生应税行为的企业可以选择按小规模纳税人纳税
  • 原始股 出售
  • 企业存货跌价准备一经计提在以后会计期间不得转回
  • 应收账款核销会计处理
  • 公司贷款评估费的做账
  • 一直零申报会怎么样
  • 公司向法人借款会计分录
  • php单双引号的区别
  • PHP:pg_lo_import()的用法_PostgreSQL函数
  • 金融负债的范围
  • kpupgrader.exe是什么
  • 一个完整的php文件有哪些元素组成
  • 期间费用转入本年利润
  • 圣托里尼岛游玩攻略
  • 微信小程序和web端的交互
  • php封装数据库操作
  • 增值税加计抵减企业所得税如何处理
  • 【torch.nn.Parameter 】参数相关的介绍和使用
  • php的foreach循环语句
  • nlp自然语言处理框架
  • 购买承兑的收益会计分录
  • Servlet4.0 Response
  • 免税产品出口是否可以退税
  • 股份有限公司个人股份
  • php配置文件在哪
  • mysql视图菜鸟教程
  • 小规模纳税人季报需要报什么
  • 建筑行业怎样可以评高工
  • 什么单位需要
  • 汇算清缴涉及的税种
  • 购买设备分期付款凭证怎么做
  • 国有企业取得的土地建设职工住宅
  • 日后事项中所得税的处理方法
  • 税控服务费全额抵扣怎么申报
  • 冲销以前年度主营业务成本
  • 会计原始分录包括什么
  • 电动车折旧年限及残值
  • 自产货物赠送客户账务处理
  • 退回多交的所得税怎么退
  • 小规模纳税人注册资金要求多少
  • 固定资产怎么折旧有几种方法
  • mysql 5.7.17 winx64免安装版配置方法图文教程
  • windowsxp搜索不到文件
  • 最小化安装centos7怎么装图形界面
  • won7系统优化
  • fragment的replace方法
  • 批处理/s
  • cmd set命令
  • herd什么意思
  • css新闻页面制作
  • jquery插件ajaxupload实现文件上传操作
  • 常用dos命令详解
  • node.js alert
  • 归档 oracle
  • 批处理提取文件夹中的文件
  • 前端js优化
  • 如何使用jquery实现点击按钮弹出一个对话框
  • 深入浅出python
  • android完整开源项目
  • 税务扣税账户余额不足
  • 税务区域代码怎么填
  • 如何查看税务登记记号
  • 安徽省地方税务局刘利庆
  • 下载广东省电子税务局appp
  • 甘肃省35条措施的内容是什么
  • 银川买的新房契税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设