• 技术文章 >微信小程序 >小程序开发

    小程序开发中什么是事件?

    青灯夜游青灯夜游2020-04-21 09:16:56转载1698

    php入门到就业线上直播课:进入学习

    在微信小程序开发中什么是事件?从事件的定义解释,事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理,同时绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。除此之外事件对象可以携带额外信息,如 id, dataset, touches。

    1.png

    由于微信小程序框架采用逻辑层与UI层分析的设计方式,这种设计方式需要解决两个问题:视图层响应逻辑层逻辑和数据的变化,视图层将用户的操作反馈到逻辑层。微信定义了一些语法和规则来帮助开发者连接视图层和逻辑层。通过数据绑定可以解决前一个问题,而第二个问题就需要用事件来解决。

    事件绑定

    通过事件绑定来完成对用户操作的响应,比如要处理view标签的tap事件,在标签属性中添加bindtap = \'tapName\', 然后在.js中添加tapName函数

    //wxml
    Click me!
    //.js
    Page({
    tapName:function(event) {
    console.log(event)
    }
    })

    event对象包含一些关于事件的数据:

    target:触发事件的组件

    currentTarget:当前组件

    type:事件类型

    timeStamp:时间戳(页面打开到触发事件所经过的毫秒数)

    touches:包含触摸点的数组(多点触控)

    changedTouches :发生改变的触摸点的数组(多点触控)

    detail:额外的自定义信息

    冒泡事件和非冒泡事件

    为什么会有target和currentTarget之分呢,这是由于事件分为两类,冒泡事件和非冒泡事件

    冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

    非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

    其中tap事件是属于冒泡事件(这也是为什么上面例子中的event会包含currentTarget)。

    为什么需要冒泡事件

    有了冒泡事件,就可以更加方便的实现一些功能。

    比如程序有一个视图,包含用户头像和姓名,当用户点击头像或姓名时,进入用户详情页面。如果没有冒泡事件,就需要处理头像和姓名的点击事件,而现在只需在外层包裹一个组件,并处理该组件的事件即可。

    阻止事件冒泡

    在有些情况下可能会希望阻止事件的冒泡行为,可以使用catch事件绑定,如catchtap,就可以阻止事件的冒泡行为。

    可以通过下面的代码示例来加深对冒泡事件的理解

    //.wxml
    我是父亲节点
    我是儿子节点
    我是孙子节点
    
    //.js
    Page({
    handleTapOutter:function(event) {
    console.log(父亲节点被点击)
    },
    handleTapMiddle:function(event) {
    console.log(儿子节点被点击)
    },
    handleInner:function(event) {
    console.log(孙子节点被点击)
    },
    })

    总结下来事件就是指发生了一些事情,通常是用户进行了一些操作,如点击某个按钮或在手机屏幕上滑动了手指。当事件发生时,框架会调用事件处理函数(如果有的话),这样就可以实现对用户操作的响应。

    本文转载自:http://zixun.jisuapp.cn/xcxkfjc/3059.html

    推荐:《小程序开发教程

    以上就是小程序开发中什么是事件?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:即速资讯,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:小程序开发 事件
    上一篇:小程序名称怎么取 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 微信金山文档小程序如何在电脑上打开使用• 微信小程序如何开通流量主功能?(方法介绍)• 微信小程序如何实现跳转?(方式介绍)• 30个小程序开发中常见问题和解决方法(总结)
    1/1

    PHP中文网