位置: 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)

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

  • 钉钉订正作业有记录的吗(钉钉订正作业有记录吗)

    钉钉订正作业有记录的吗(钉钉订正作业有记录吗)

  • cpu多少度降频(cpu多少度会降频)

    cpu多少度降频(cpu多少度会降频)

  • 拼多多买东西如何不让好友看到(拼多多买东西如何不让别人看到)

    拼多多买东西如何不让好友看到(拼多多买东西如何不让别人看到)

  • 拼多多新店多久有评分(拼多多新店多久有生意)

    拼多多新店多久有评分(拼多多新店多久有生意)

  • 显卡待机50度正常吗(显卡待机五十度)

    显卡待机50度正常吗(显卡待机五十度)

  • iphone美版卡贴机什么意思(iphone美版卡贴机缺点)

    iphone美版卡贴机什么意思(iphone美版卡贴机缺点)

  • oppo手机查找老是离线(opp0查找手机)

    oppo手机查找老是离线(opp0查找手机)

  • ipad支持内存卡吗(ipad支持内存卡扩展吗)

    ipad支持内存卡吗(ipad支持内存卡扩展吗)

  • iphonegps怎么开(iphonegps在哪里打开)

    iphonegps怎么开(iphonegps在哪里打开)

  • 手机主板坏了有什么症状(手机主板坏了有办法拿到资料吗)

    手机主板坏了有什么症状(手机主板坏了有办法拿到资料吗)

  • vivo27手机有没有nfc功能(vivo27手机有没有nfc功能怎么打开)

    vivo27手机有没有nfc功能(vivo27手机有没有nfc功能怎么打开)

  • 淘宝直播怎么小窗口(淘宝直播怎么小屏幕苹果手机)

    淘宝直播怎么小窗口(淘宝直播怎么小屏幕苹果手机)

  • 苹果6s充电发热正常吗(苹果6s充电发热怎么办)

    苹果6s充电发热正常吗(苹果6s充电发热怎么办)

  • 截图快捷键ctrl加什么(截图快捷键ctrl加什么表格)

    截图快捷键ctrl加什么(截图快捷键ctrl加什么表格)

  • 智能制造发展特点包括(智能制造发展特点包括哪些方面)

    智能制造发展特点包括(智能制造发展特点包括哪些方面)

  • 手机可以监听对方手机微信吗(手机可以监听对方的微信吗怎么设置)

    手机可以监听对方手机微信吗(手机可以监听对方的微信吗怎么设置)

  • 抖音哈哈镜在哪里(抖音里的哈哈镜怎么找不到了)

    抖音哈哈镜在哪里(抖音里的哈哈镜怎么找不到了)

  • windows10如何重装系统(windows10如何重装电脑)

    windows10如何重装系统(windows10如何重装电脑)

  • 最新最全图解 手把手教你认识bios设置(图解 http)

    最新最全图解 手把手教你认识bios设置(图解 http)

  • Windows 10如何清理DNS缓存(windows10如何清理磁盘碎片)

    Windows 10如何清理DNS缓存(windows10如何清理磁盘碎片)

  • hptskmgr.exe是什么进程 作用是什么 hptskmgr进程查询(hprj是什么文件)

    hptskmgr.exe是什么进程 作用是什么 hptskmgr进程查询(hprj是什么文件)

  • 如何修复错误0xC1900101?Win11安装助手错误代码0xc1900101的原因以及解决方法(如何修复错误 OC3 INVT CHF100a)

    如何修复错误0xC1900101?Win11安装助手错误代码0xc1900101的原因以及解决方法(如何修复错误 OC3 INVT CHF100a)

  • 苹果iPhone6S清除浏览器缓存方法(如何清除苹果手机6s垃圾)

    苹果iPhone6S清除浏览器缓存方法(如何清除苹果手机6s垃圾)

  • vue3.0中setup使用(两种用法)(vue set up)

    vue3.0中setup使用(两种用法)(vue set up)

  • 盘点ChatGPT的使用资源(chatplus)

    盘点ChatGPT的使用资源(chatplus)

  • 拆迁补偿款如何做账务处理
  • 个人写的收据要留身份证复印件吗
  • 有红字发票如何入账
  • 出口免税需要什么资料
  • 外商独资投资性公司
  • 增值税普通发票查询真伪
  • 纳税人选择简易办法一经选择
  • 代扣代缴公积金有返还吗
  • 金税三期中个税怎么算
  • 递延收益摊销金额怎么算
  • 涉外收入申报单填写模板
  • 出租厂房的摊销额会计分录
  • 劳务公司开票是开劳务费还是工程服务
  • 个人所得税必须得交吗
  • 停车场企业所得税税率
  • 装修行业一般纳税人税负率是多少
  • 预缴税金跨区域涉税在哪查询
  • 土地使用权对外出租还摊销吗
  • 融资租赁的利息可以税前扣除吗
  • win11进入黑屏
  • vue播放器
  • 汽车销售私下收客户红包
  • 未开票收入申报后又要开票
  • 电视柜尺寸一般是多少厘米的
  • php psr2
  • vue3.0 element ui
  • 百家论坛是正规期刊吗
  • Docker部署nginx
  • 埃菲尔铁塔翻绳的方法
  • 框架的弊端和作用
  • 公司想减少注册资本流程
  • 快递行业一般纳税人税率是多少
  • 【机器学习】支持向量回归
  • 如何使用axios直接发送GET请求
  • 中标费用入什么科目
  • 引导式申报带出来的开票额与金税盘显示的不一致
  • 会计怎么计算
  • 投资别人公司的注意事项
  • db2之间的数据库迁移
  • 商品流通企业购入的商品采用售价金额法核算的
  • 不在经营范围内经营违反了什么法
  • 根据工资总额组成的规定下列哪些列入工资总额的范围
  • 出租车公共服务
  • 删除mysql57服务
  • 上期留底增值税什么意思
  • 交付使用资产是否含税
  • 施工企业暂估成本
  • 调试机器要注意事项
  • 4s店销售走了该找谁
  • 进项税额转出的几种情况
  • 服务佣金最高可以收多少
  • 工商联络注册
  • 公司购买电缆线用于修缮厂房
  • 私营公司固定资产怎么查
  • 企业低值易耗品的摊销方法有( )
  • xampp修改mysql默认密码的方法
  • 被遗忘的战役
  • windows怎么将任务栏放大
  • centos安装教程详解
  • 注册表里的默认可以删吗
  • win8.1企业版激活密钥最新
  • win8怎么设置ip地址
  • 双系统启动文件
  • win8图标大小怎么调
  • linux whatis与whatis database 使用及查询方法(man使用实例)
  • node.js+mysql
  • dos查看内存命令
  • 字符串拼接join
  • jquery 选择器 空格
  • js知识总结
  • androidstudio性能检测工具
  • javascript怎么用
  • 广东智慧团建登录不上去怎么回事
  • 税务局高风险是怎么办
  • 消费税要把增值税算进去吗
  • 村级公益性支出是什么
  • 云南省电子税务
  • 深圳市国家税务局电话
  • 廉政谈话什么是廉政?
  • 企业将持有的交易性金融资产售出,实际收到出售价款
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设