pp电子

登录
免费开通

微信小程序解绑事务,微信小程序扫除绑定

什么是事务


  • 事务是视图层到逻辑层的通讯方式。。。
  • 事务可以将用户的行为反馈到逻辑层举行处理。。。
  • 事务可以绑定在组件上,, ,,,当抵达触发事务,, ,,,就会执行逻辑层中对应的事务处理函数。。。
  • 事务工具可以携带特殊信息,, ,,,如id, dataset, touches。。。
  • 微信小程序解绑事务,微信小程序扫除绑定

事务的使用方式


  • 在组件中绑定一个事务处理函数。。。

bindtap,, ,,,当用户点击该组件的时间会在该页面临应的Page中找到响应的事务处理函数。。。

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
  • 在响应的Page界说中写上响应的事务处理函数,, ,,,参数是event。。。
Page({
  tapName: function(event) {
    console.log(event)
  }
})
  • 可以看到log出来的信息大致如下
    {
    "type": "tap",
    "timeStamp":895,
    "target": {
      "id": "tapTest",
      "dataset": {
       "hi": "WeChat"
      }
    },
    "currentTarget": {
      "id": "tapTest",
      "dataset": {
        "hi": "WeChat"
      }
    },
    "detail": {
      "x":53,
      "y":14
    },
    "touches": [{
      "identifier":0,
      "pageX":53,
      "pageY":14,
      "clientX":53,
      "clientY":14,
    }],
    "changedTouches": [{
      "identifier":0,
      "pageX":53,
      "pageY":14,
      "clientX":53,
      "clientY":14,
    }],
    }

事务详解

事务分类

事务分为冒泡事务和非冒泡事务

  1. 冒泡事务:当一个组件上的事务被触发后,, ,,,该事务会向父节点转达。。。
  2. 非冒泡事务:当一个组件上的事务被触发后,, ,,,该事务不会向父节点转达。。。

WXML的冒泡事务列表:

类型 触发条件
touchstart 手指触摸行动最先
touchmove 手指触摸后移动
touchcancel 手指触摸行动被打断,, ,,,如来电提醒,, ,,,弹窗
touchend 手指触摸行动竣事
tap 手指触摸后马上脱离
longtap 手指触摸后,, ,,,凌驾350ms再脱离

注:除上表之外的其他组件自界说事务都是非冒泡事务,, ,,,如<form/>submit事务,, ,,,<input/>input事务,, ,,,<scroll-view/>scroll事务,, ,,,(详见各个组件)

事务绑定


事务绑定的写法同组件的属性,, ,,,以key、value的形式。。。

  • key以bindcatch开头,, ,,,然后跟上事务的类型,, ,,,如bindtap, catchtouchstart
  • value是一个字符串,, ,,,需要在对应的Page中界说同名的函数。。。否则当触发事务的时间会报错。。。

bind事务绑定不会阻止冒泡事务向上冒泡,, ,,,catch事务绑定可以阻止冒泡事务向上冒泡。。。

如在下边这个例子中,, ,,,点击inner view会先后触发handleTap3handleTap2(由于tap事务会冒泡到middle view,, ,,,而middle view阻止了tap事务冒泡,, ,,,不再向父节点转达),, ,,,点击middle view会触发handleTap2,, ,,,点击outter view会触发handleTap1。。。

<view id="outter" bindtap="handleTap1">
  outer view
  <view id="middle" catchtap="handleTap2">
    middle view
    <view id="inner" bindtap="handleTap3">
      inner view
    </view>
  </view>
</view>

事务工具


如无特殊说明,, ,,,当组件触发事务时,, ,,,逻辑层绑定该事务的处理函数会收到一个事务工具。。。

BaseEvent基础事务工具属性列表:

属性 类型 说明
type String 事务类型
timeStamp Integer 事务天生时的时间戳
target Object 触发事务的组件的一些属性值荟萃
currentTarget Object 目今组件的一些属性值荟萃

CustomEvent 自界说事务工具属性列表(继承 BaseEvent):

属性 类型 说明
detail Object 特另外信息

TouchEvent 触摸事务工具属性列表(继承 BaseEvent):

属性 类型 说明
touches Array 触摸事务,, ,,,目今停留在屏幕中的触摸点信息的数组
changedTouches Array 触摸事务,, ,,,目今转变的触摸点信息的数组

特殊事务:<canvas/>中的触摸事务不可冒泡,, ,,,以是没有 currentTarget。。。

type

通用事务类型

timeStamp

该页面翻开到触发事务所经由的毫秒数。。。

target

触发事务的源组件。。。

属性 类型 说明
id String 事务源组件的id
tagName String 目今组件的类型
dataset Object 事务源组件上由data-开头的自界说属性组成的荟萃

currentTarget

事务绑定的目今组件。。。

属性 类型 说明
id String 目今组件的id
tagName String 目今组件的类型
dataset Object 目今组件上由data-开头的自界说属性组成的荟萃

说明: target 和 currentTarget 可以参考上例中,, ,,,点击 inner view 时,, ,,,handleTap3 收到的事务工具 target 和 currentTarget 都是 inner,, ,,,而 handleTap2 收到的事务工具 target 就是 inner,, ,,,currentTarget 就是 middle。。。

 

dataset

在组件中可以界说数据,, ,,,这些数据将会通过事务转达给 SERVICE。。。誊写方式:以data-开头,, ,,,多个单词由连字符-链接,, ,,,不可有大写(大写会自动转成小写)如data-element-type,, ,,,最终在 event.target.dataset 中会将连字符转成驼峰elementType。。。

示例:

<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({
  bindViewTap:function(event){
    event.target.dataset.alphaBeta === 1 // - 会转为驼峰写法
    event.target.dataset.alphabeta === 2 // 大写会转为小写
  }
})

touches

touches 是一个数组,, ,,,每个元素为一个 Touch 工具(canvas 触摸事务中携带的 touches 是 CanvasTouch 数组)。。。 体现目今停留在屏幕上的触摸点。。。

Touch 工具

属性 类型 说明
identifier Number 触摸点的标识符
pageX, pageY Number 距离文档左上角的距离,, ,,,文档的左上角为原点 ,, ,,,横向为X轴,, ,,,纵向为Y轴
clientX, clientY Number 距离页面可显示区域(屏幕除去导航条)左上角距离,, ,,,横向为X轴,, ,,,纵向为Y轴

CanvasTouch 工具

属性 类型 说明 特殊说明
identifier Number 触摸点的标识符  
x, y Number 距离 Canvas 左上角的距离,, ,,,Canvas 的左上角为原点 ,, ,,,横向为X轴,, ,,,纵向为Y轴  

changedTouches

changedTouches 数据名堂同 touches。。。体现有转变的触摸点,, ,,,如从无变有(touchstart),, ,,,位置转变(touchmove),, ,,,从有变无(touchend、touchcancel)。。。

detail

自界说事务所携带的数据,, ,,,如表单组件的提交事务会携带用户的输入,, ,,,媒体的过失事务会携带过失信息,, ,,,详见组件界说中各个事务的界说。。。

点击事务的detail 带有的 x, y 同 pageX, pageY 代表距离文档左上角的距离。。。

 

更多微信小程序开发教程,, ,,,可以关注。。。
【本站声明】
  1、本站文章中所选用的图片及文字泉源于网络以及用户投稿,, ,,,由于未联系到知识产权人或未发明有关知识产权的挂号,, ,,,若有知识产权人并不肯意我们使用,, ,,,若是有侵权请连忙联系。。。
  2、本网站差池文章中所涉及的内容真实性、准确性、可靠性认真,, ,,,仅系客观性形貌,, ,,,如您需要相识该类商品/服务详细的资讯,, ,,,请您直接与该类商品/服务的提供者联系。。。


KESION pp电子软件

KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,, ,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。

KESION 一直通过手艺立异,, ,,,提供产品和服务,, ,,,助力企业向数字化转型,, ,,,通过科技驱动商业刷新,, ,,,让商业变得更智慧!



▼点击进入pp电子官网相识更多



上/下篇
  • 小程序需要服务器吗,小程序服务器设置要求

  • 微信小程序码有什么用,微信小程序太阳码

换一换相关推荐
精选内容
热门精选
pp电子·模拟器(试玩游戏)官方网站 pp电子·模拟器(试玩游戏)官方网站 pp电子·模拟器(试玩游戏)官方网站
【网站地图】
微信小程序解绑事务,微信小程序扫除绑定 - KESION p