黑马程序员小程序学习笔记(5)——事件绑定

1 目标

模拟选择商品数量的功能,当点击加号按钮时显示框内数字+1,点击减号时减一,文本框内输入数字时同步更新显示框。在这里插入图片描述

2 代码及解析

<!-- 
任务分析
    1 需要给input标签绑定 input事件
      绑定关键字 bindinput
    2 如何获取输入框的值?
      通过实践源对象来获取
      e.detail.value
    3 把输入框的值复制到data当中
      不能直接
      1 this.date.num=e.detail
      2 this.num=e.detail.value
      正确写法
      this.setDate({
          num:e.detail.value
      }) 
    4 需要加入一个点击事件
      1 bindtap
      2 无法在小程序的事件当中直接传参
      3 通过自定义属性的方式传递参数  
      4 事件源中获取自定义属性date-operation的值
  -->
<input type="text" bindinput="handleInput"></input>
<!-- 以下是几个测试 -->
<button bindtap="handleTap" data-operation="{{1}}">+</button>
<!-- 这里传入的是一个num -->
<!-- <button bindtap="handleTap" data-operation="{{'1'}}">+</button> -->
<!-- 这里传入的是一个String -->
<button bindtap="handleTap" data-operation="{{-1}}">-</button>
<view>{{num}}</view>
Page({
  data: {
    num: 0
  },
  //输入框的input时间的执行逻辑
  handleInput(e) {
    this.setData({
      num: parseInt(e.detail.value)
      //e.detail.value返回值为String类型,因此用parseInt进行类型转化
    })
  },
  handleTap(e){
    //console.log(typeof e);
    const count = e.target.dataset.operation+this.data.num;
    this.setData({
      num:count
    })
    //绑定事件的参数为e(object)
  }
})

补充知识

判断数据类型的5种方法
字符串转换数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值