
What are events in WeChat mini program development? From the definition of events, events are the communication method from the view layer to the logic layer. Events can feed back user behavior to the logic layer for processing, and are bound to components. When a trigger event is reached, the corresponding event processing function in the logic layer will be executed. In addition, event objects can carry additional information, such as id, dataset, touches.

Since the WeChat applet framework adopts a design method of logic layer and UI layer analysis, this design method needs to solve two problems: the view layer responds to the logic layer logic and data Changes, the view layer feeds back the user's operations to the logic layer. WeChat defines some syntax and rules to help developers connect the view layer and the logic layer. The former problem can be solved through data binding, while the second problem needs to be solved using events.
Event Binding
Use event binding to complete the response to user operations. For example, to handle the tap event of the view tag, add bindtap = \ in the tag attribute. 'tapName\', and then add the tapName function in .js
//wxml
Click me!
//.js
Page({
tapName:function(event) {
console.log(event)
}
})The event object contains some data about the event:
target: the component that triggered the event
currentTarget: current Component
type: Event type
timeStamp: Timestamp (the number of milliseconds that elapsed from when the page was opened to when the event was triggered)
touches: Array containing touch points (multi-touch Control)
changedTouches: Array of changed touch points (multi-touch)
detail: Additional custom information
Bubbling events and non- Bubble events
Why are there differences between target and currentTarget? This is because events are divided into two categories, bubbling events and non-bubble events
Bubble events: when When an event on a component is triggered, the event is passed to the parent node.
Non-bubbling events: When an event on a component is triggered, the event will not be delivered to the parent node.
The tap event is a bubbling event (this is why the event in the above example contains currentTarget).
Why bubbling events are needed
With bubbling events, some functions can be implemented more conveniently.
For example, the program has a view that contains the user's avatar and name. When the user clicks on the avatar or name, the user details page is entered. If there is no bubbling event, you need to handle the click events of the avatar and name. Now you only need to wrap a component in the outer layer and handle the event of the component.
Prevent event bubbling
In some cases you may want to prevent the event from bubbling. You can use catch event binding, such as catchtap, to prevent the event. bubbling behavior.
You can use the following code example to deepen your understanding of bubbling events
//.wxml
我是父亲节点
我是儿子节点
我是孙子节点
//.js
Page({
handleTapOutter:function(event) {
console.log(父亲节点被点击)
},
handleTapMiddle:function(event) {
console.log(儿子节点被点击)
},
handleInner:function(event) {
console.log(孙子节点被点击)
},
})In summary, an event refers to something happening, usually the user performs some operations, such as clicking a button Or swiped your finger on the phone screen. When an event occurs, the framework calls the event handling function (if any) so that it can respond to user operations.
This article is reproduced from: http://zixun.jisuapp.cn/xcxkfjc/3059.html
Recommended: " Mini Program Development Tutorial 》
The above is the detailed content of What are events in mini program development?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Atom editor mac version download
The most popular open source editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)






