微信小程序入门4--事件
发表时间:2021-1-4
发布人:葵宇科技
浏览次数:33
事件入门
小程序官方文档对事件的解释如下
- 事件是视图层到逻辑层的通讯方式。
- 事件可以将用户的行为反馈到逻辑层进行处理。
- 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
- 事件对象可以携带额外信息,如 id, dataset, touches。
事件实现流程
- 首先在页面.wxml中使用
bind
定义事件捕获,并绑定回调函数
<view bind:tap="onTap" class="journey-container"></view>
复制代码
- 然后在.js文件中定义回调函数需要执行的业务逻辑
// 事件的回掉函数
onTap: function(params) {
//跳转页面
console.log(666)
},
复制代码
- 随后触发事件(本例中是
tap
事件),便可以执行对应逻辑
事件冒泡设置-catch与bind
catch会阻止事件继续冒泡,bind不会阻止事件继续冒泡
- 首先在页面.wxml文件中定义事件与回调函数
<view catch:tap="onViewTap" class="journey-container">
<text catch:tap="onTextTap" class="journey">开启小程序之旅</text>
</view>
复制代码
- 然后在页面.js文件中定义回调函数
onViewTap: function(params) {
console.log("on tap View")
},
onTextTap: function() {
console.log("on tap Text")
},
复制代码
- 点击text-开启小程序之旅,仅调用
onTextTap
,是由于catch
阻止了tap
事件的冒泡行为
跳转页面事件介绍
- 小程序中提供了两个页面跳转的函数,为
navigateTo
与redirectTo
,写在绑定事件的回调函数中,触发事件即可跳转路由,下面是回调函数onTap
onTap: function(params) {
//跳转页面
// wx.navigateTo({
// url:"/pages/posts/posts"
// })
//跳转页面
wx.redirectTo({
url:"/pages/posts/posts"
})
}
复制代码
-
二者的区别:
navigateTo
保留当前父页面存入页面栈中,最多存10个页面,不会销毁当前页面,可返回;redirectTo
会销毁当前父页面,直接跳转至下个子页面 -
跳转页面演示
在页面.wxml模块中添加了监听tap事件的回调函数onGoToDeatil
<view bind:tap="onGoToDetail" class="post-container">
</view>
复制代码
在页面.js文件中添加跳转逻辑
onGoToDetail(event){
wx.navigateTo({
url:'/pages/post-detail/post-detail'
})
}
复制代码
点击post-container
组件即可完成页面跳转,至post-detail
页面
至此便完成小程序事件入门