当前位置: 首页 > news >正文

小程序组件 —— 31 事件系统 - 事件绑定和事件对象

小程序中绑定事件和网页开发中绑定事件几乎一致,只不过在小程序不能通过 on 的方式绑定事件,也没有 click 等事件,小程序中绑定事件使用 bind 方法,click 事件也需要使用 tap 事件来进行代替,绑定事件的方式有两种:

  • bind:事件名,bind 后面需要跟上冒号,冒号后面跟上事件名,例如:<view bind:tap="fnName"></view>
  • bind 事件名,bind 后面直接跟上事件名,例如:<view bindtap="fnName"></view>

事件处理函数需要写到 .js 文件中,在 .js 文件中需要调用小程序提供的 Page 方法来注册小程序的页面,我们可以直接在 Page 方法中创建事件处理函数;

下面在微信开发者工具中演示一下:

  • 选择 cate 文件夹下面的 cate.wxml 文件,分别填写两种事件绑定方法:

    <button type="primary" bind:tap="handleClick">绑定事件</button><button type="warn" bindtap="handleClick">绑定事件</button>
    
  • 选择 cate 文件夹下面的 cate.js 文件,填写对应的事件函数,注意事件函数必须填写在 Page 方法中:

    Page({handleClick () {console.log("点击事件触发了")}
    })
    

编辑完成刷新后,点击按钮,可以在 console 界面看到打印的信息,如下图:

在这里插入图片描述
当组件触发事件时,绑定的事件处理函数会收到一个事件对象;在触发事件的时候,事件处理程序会默认给事件处理函数添加一个参数,默认命名为 event,所以我们的事件处理函数可以写为:

	Page({handleClick (event) {// console.log("点击事件触发了");console.log(event);}})

具体表现如下:
在这里插入图片描述
在点击按钮之后,console 区域会输出一个对象,这个对象记录了事件触发时的一些信息,我们可以使用这个对象来获取相关的数据;

假如我们想获取用户在输入框输入的信息,先在 cate.wxml 中添加一个输入框:

<!-- 在小程序中,input 输入框默认没有边框,需要自己添加样式 -->
<input type="text" bindinput="getInputValue" />

由于小程序中的 input 输入框默认没有边框,所以可以在根目录的 app.scss 中统一对 input 组件设置样式,如下:

input {border: 1px solid #cccccc;
}

接着在 cate.js 文件中添加事件处理函数,如下:

Page({getInputValue(event){console.log(event.detail.value);}
})

具体的效果如下所示:

在这里插入图片描述

在 input 输入信息后,在 console 窗口实时看到具体的输出;

参考视频:尚硅谷微信小程序开发教程

http://www.lryc.cn/news/521783.html

相关文章:

  • 力扣cf补题-1【算法学习day.94】
  • 系统学习算法:专题四 前缀和
  • java 迪米特法则,原理、思想、工作流程、实现细节、稳定性、优缺点、应用场景等
  • vue项目引入阿里云svg资源图标
  • 存储过程和触发器
  • 《拉依达的嵌入式\驱动面试宝典》—计算机网络篇(二)
  • 【深度学习实战】kaggle 自动驾驶的假场景分类
  • Spring Boot 和微服务:快速入门指南
  • qt QPainter setViewport setWindow viewport window
  • 网络安全面试题汇总(个人经验)
  • 【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第13章ospf路由协议】理论和实操
  • FreeType 介绍及 C# 示例
  • 金融项目实战 04|JMeter实现自动化脚本接口测试及持续集成
  • Linux网络知识——路由表
  • 浅谈云计算14 | 云存储技术
  • AI 编程工具—Cursor进阶使用 阅读开源项目
  • 使用 WPF 和 C# 将纹理应用于三角形
  • Elasticsearch搜索引擎(二)
  • unity学习17:unity里的旋转学习,欧拉角,四元数等
  • 走出实验室的人形机器人,将复刻ChatGPT之路?
  • 如何使用wireshark 解密TLS-SSL报文
  • 电脑有两张网卡,如何实现同时访问外网和内网?
  • 定义:除了Vue内置指令以外的其他 v-开头的指令(需要程序员自行扩展定义)作用:自己定义的指令, 可以封装一些 dom 操作, 扩展
  • SpringBoot错误码国际化
  • LeetCode 3066.超过阈值的最少操作数 II:模拟 - 原地建堆O(1)空间 / 优先队列O(n)空间
  • 深度学习中的模块复用原则(定义一次还是多次)
  • Mac——Cpolar内网穿透实战
  • 安全测评主要标准
  • qBittorent访问webui时提示unauthorized解决方法
  • 504 Gateway Timeout:网关超时解决方法