小程序事件--基础
- 小程序事件
- 事件简介
 
- 小程序事件—事件传参
- 事件对象属性
- target和currentTarget事件对象属性
 
- 获取和设置data数据
- 获取&设置data
 
- 获取和设置data数据—进阶
- 小程序的渲染层与逻辑层
 
 
小程序事件
事件简介
-  事件是视图层到逻辑层的通讯方式。负责将用户对于的页面的操作通知给js。用户在页面中所有的行为,如点击按钮,滑动页面,都需要靠事件传递给js进行处理 
-  格式:<元素 bind事件名= “回调”> - 示例:<view bindtap="fn1"></view>
- <switch bindchange="fn2"></switch>
- 小程序中绑定事件,通过bind和capture关键字来实现。如 bindtap 和 capture-bind:tap,bind 是事件冒泡capture 是事件捕获。capture-bind只能用冒号形式。
- 如果想阻止事件冒泡或捕获可通过catch来绑定事件。如catchtap,capture-catch:tap。
  
  
 
- 示例:
小程序事件—事件传参

 正确写法
 
错误写法: 小程序会以为 事件函数名称就是 “handleTap(100)” ,那么它就会去找“handleTap(100)” 这个函数 而不是 “handleTap”
事件对象属性
| 属性 | 类型 | 说明 | 
|---|---|---|
| type | String | 事件类型 | 
| timeStamp | Integer | 页面打开到触发事件所经过的毫秒数 | 
| target | Object | 触发事件的组件的一些属性值集合 | 
| currentTarget | Object | 当前组件的一些属性值集合 | 
| detail | Object | 额外的信息 | 
| touches | Array | 触摸事件,当前停留在屏幕中的触摸点信息的数组 | 
| changedTouches | Array | 触摸事件,当前变化的触摸点信息的数组 | 
target和currentTarget事件对象属性
| 属性 | 类型 | 说明 | 
|---|---|---|
| id | String | 当前组件的id | 
| dataset | Object | 当前组件上由data-开头的自定义属性组成的集合 | 
获取和设置data数据
获取&设置data
涉及到数据的操作有三个
-  定义。 -  Page({ data: { 属性1: 值1, 属性2: 值2 } })
 
-  
-  获取 - 在视图中: {{ 属性名 }}
- 在代码中: this.data.属性名
 
- 在视图中: 
-  设置(修改) -  this.setData({ 属性名1: 新值1, 属性名2: 新值2 })
 
-  
获取和设置data数据—进阶
小程序的渲染层与逻辑层
- WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层
- 小程序的渲染层和逻辑层分别由2个线程管理,两个线程的通信会经由微信客户端做中转
  
注意:直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致.



















