小程序中的事件处理

事件处理

一个应用仅仅只有界面展示是不够的,还需要和用户做交互,例如:响应用户的点击、获取用户输入的值等等,在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作

1. 事件绑定和事件对象

小程序中绑定事件与在网页开发中绑定事件几乎一致,只不过在小程序不能通过 on 的方式绑定事件,也没有 click 等事件,小程序中绑定事件使用 bind 方法,click 事件也需要使用 tap 事件来进行代替,绑定事件的方式有两种:

第一种方式:bind:事件名,bind 后面需要跟上冒号,冒号后面跟上事件名

<button bind:tap="handler">按钮</button>

第二种方式:bind事件名,bind 后面直接跟上事件名

<button bindtap="handler">按钮</button>

事件处理函数需要写到 .js 文件中,在 .js 文件中需要调用小程序提供的 Page 方法来注册小程序的页面,我们可以直接在 Page 方法中创建事件处理函数。例如:

// pages/home/home.js
Page({
   
  // 页面的初始数据
  data: {
   },

  // 事件处理程序
  handler () {
   
    console.log('我被执行啦~~~')
  }
    
  // 其他 coding...
})

当组件触发事件时,绑定的事件的处理函数会收到一个事件对象,用来记录事件发生时的相关信息。在触发事件时,事件处理程序会主动的给我们传入一个参数 —— event(事件对象)

// pages/home/home.js
Page({
   
  // 页面的初始数据
  data: {
   },

  // 事件处理程序
  handler (event) {
   
    // console.log('我被触发了~~~')
    console.log(event)
  }
    
  // 其他 coding...
})

2. 小程序中的事件

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html 事件系统

事件绑定

bind事件名 tap移动端事件

bindtap=“事件名字”

catchtap=“阻止事件冒泡”

事件需要在js文件中进行定义即可

事件传递参数

在标签上绑定一个属性data-index=“xxxx”

方法中event.target.dataset获取对象数据内容

<button size="mini" type="primary" data-type="jian" bindtap="changeNum">-</button>
{
  {num}}
<button size="mini" type="primary" data-type="jia"  bindtap="changeNum">+</button>
Page({
   
    changeNum(e){
   
        console.log(e);
        let {
   type} = e.target.dataset;
        type=='jia'?this.data.num++:this.data.num--;
        this.setData({
   
          num: this.data.num,
        })
      },
})

条件渲染

wx:if v-if block
 <view wx:if="{
    {flag}}">Hello wx:if条件渲染的使用</view>
 <view hidden="{
    {!flag}}">Hello hidden条件渲染的使用</view>

 <button bindtap="toggle">toggle</button>
Page({
   
    data:{
   
      flag:true,  
    },
    toggle(){
   
        console.log(this.data.flag);
        let flag = this.data.flag;
        //修改数据的内容,data中绑定的数据,
        this.setData({
   
          flag:!flag,
        })
  },
})
hidden
hidden和 wx:if的区别
  1. wx:if控制的区域,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值