零基础学习微信小程序(5):小程序事件的绑定

本文介绍了微信小程序中事件绑定的概念,如bindtap用于点击事件,bindinput用于输入文本时触发的事件。在处理bindinput事件时,应注意正确赋值方式,即使用setData更新状态。此外,bindtap事件中不能直接传递参数,需要借助自定义属性实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序绑定事件通过bind关键字来实现,如:bindtap、bindinput、bindchange等
bindinput
bindinput事件,输入文本内容,就会出现相应的事件例如:

<!--pages/demo04/demo04.wxml-->
<input type="text" bindinput="handleInput"></input>
<view>{{num}}</view>
// pages/demo04/demo04.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    num:0
  },
  //输入框的input事件的执行逻辑
  handleInput(e){
    console.log(e);
  }
})

注意事项,在小程序的赋值操作比较特殊,不可以直接使用:
this.data.num=e.detail.value或者是
this.num=e.detail=e.detail.value
(e.detail.value的值可以在控制台找到)
正确写法:

this.setData({
      num:e.detail.value
    })

所以代码为:

// pages/demo04/demo04.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    num:0
  },
  //输入框的input事件的执行逻辑
  handleInput(e){
    console.log(e.detail.value);
    this.setData({
      num:e.detail.value
    })
  }
})

在这里插入图片描述
在上面的input行输入时,下方的也会进行实时的修改。

bindtap:绑定点击事件
无法在小程序的事件中直接传递参数,需要通过自定义属性的方式来传递参数

<!--pages/demo04/demo04.wxml-->
<input type="text" bindinput="handleInput"></input>
<button bindtap="handletap" data-operation="{{1}}">+</button>
<button bindtap="handletap" data-operation="{{-1}}">-</button>
<view>{{num}}</view>
// pages/demo04/demo04.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    num:0
  },
  //输入框的input事件的执行逻辑
  handleInput(e){
    console.log(e.detail.value);
    this.setData({
      num:e.detail.value
    })
  },
  //加减按钮的事件:
  handletap(e){
    console.log(e);
    const operation=e.currentTarget.dataset.operation;
    this.setData({
      num:this.data.num+operation
    })
  }
})

在这里插入图片描述

文章内容为视频零基础玩转微信小程序【黑马程序员】知识点整合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值