[小程序]API、数据与事件

一、API

①事件监听API

on开头,用来监听事件的触发(如wx.inWindowResize)

②同步API

Sync结尾,且可以通过函数返回值获取,执行错误会抛出异常(如wx.setStorageSync)

③异步API

类似网页中的ajax,需要通过success,fail,complete接收调用结果(如wx.request)

二、数据绑定

数据绑定的基本原则:

①在data中定义数据

在当前页面的js文件中的Page中定义数据:

②在WXML中使用数据

使用Mustache语法(双大括号)将变量渲染到页面

复制代码
<view>
  {{info}}
</view>

Mustache 的作用包含动态绑定内容 (↑);动态绑定属性 (↓);三元运算 (↓↓);算数运算(↓↓↓)

复制代码
data:{
    imgPath : '图片路径',
}

<image src="{{imgPath}}"></image>
复制代码
data: {
    randNum:Math.random()*10
}

<view>
  {{randNum>=5?'随机数>5':'随机数小于5'}}
</view>
复制代码
<view>
  {{randNum*10}}
</view>

三、事件

1.事件定义

通过事件,可以将渲染层的行为反馈到业务层进行处理,相当于函数。

小程序常用的事件如下:

|--------|----------|------------------------|
| tap | 相当于click | bindtap或bind:tap |
| input | 文本框输入 | bindinput或bind:input |
| change | 状态改变 | bindchange或bind:change |

当事件回调被触发,会收到一个event,其属性如下:

|----------------|--------|-------------|
| type | String | 事件类型 |
| timeStamp | Int | 触发事件的时间(毫秒) |
| target | Object | 触发事件的源头组件 |
| currentTarge | Object | 当前组件 |
| detail | Object | 额外信息 |
| touches | Array | 当前触摸点的信息 |
| changedTouches | Array | 当前变化的触摸点信息 |

事件触发后,会以冒泡的方式向外传递(先触发内层的事件,再触发外层的事件,这里需要借用target和currentTarget来判别)

2.事件绑定

①通过bindtap在渲染界面中绑定

复制代码
<button type="default" bindtap='btnClick'>点击测试</button>

②在js文件中定义处理函数

复制代码
btnClick(e){
    console.log(e)
},

3.在事件中为data赋值

使用this.setData(dataobject)方法为data赋值

复制代码
  btnClick(e){
    this.setData({
      count:this.data.count+1
    })
  },

<view>
  {{count}}
  <button type="default" bindtap='btnClick'>+1</button>
</view>

4.事件传参

使用data-*,自定义参数进行传递,如

复制代码
<button type="default" bindtap='btnClear' data-zero="{{-1}}">设-1</button>

同时在事件中采用下列代码来获取传递的值

复制代码
this.setData({
      count:e.target.dataset.zero
    })

需注意,如不使用{{ }},则传递的会是String数据。

5.获取文本框数据

复制代码
<view class="CenterText">
  {{tempStr}}
  <input class="bd" bindinput="textChage"></input>
</view>

  textChage(e){
    this.setData({
      tempStr:e.detail.value
    })
  },
相关推荐
fakaifa3 小时前
点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
小程序·uni-app·php·源码下载·点大餐饮·扫码点单
说私域9 小时前
基于开源 AI 大模型 AI 智能名片 S2B2C 商城小程序视角下的企业组织能力建设与破圈升级
人工智能·小程序
fakaifa17 小时前
【最新版】CRMEB Pro版v3.4系统源码全开源+PC端+uniapp前端+搭建教程
人工智能·小程序·uni-app·php·crmeb·源码下载·crmebpro
2501_915918411 天前
iOS 应用上架全流程实践,从开发内测到正式发布的多工具组合方案
android·ios·小程序·https·uni-app·iphone·webview
上海云盾第一敬业销售1 天前
小程序被爬虫攻击,使用waf能防护吗?
爬虫·小程序
suncentwl1 天前
做一个答题pk小程序多少钱?
小程序·答题小程序·知识竞赛·答题pk软件
说私域1 天前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的流量转化策略研究
人工智能·小程序
咸虾米_1 天前
微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
微信小程序·小程序·uniapp开发·小程序地图api
未来之窗软件服务1 天前
蔬菜批发小程序:生产商的数字化转型利器——仙盟创梦IDE
小程序·自动化·仙盟创梦ide·东方仙盟·蔬菜批发·批发系统
数据皮皮侠1 天前
最新上市公司业绩说明会文本数据(2017.02-2025.08)
大数据·数据库·人工智能·笔记·物联网·小程序·区块链