wx-------事件处理

什么是事件

  • 事件是视图层到逻辑层的通讯方式。

  • 事件可以将用户的行为反馈到逻辑层进行处理。

  • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

  • 事件对象可以携带额外信息,如 id, dataset, touches。

事件分类

事件分为冒泡事件和非冒泡事件:

  • 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

  • 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

    WXML的冒泡事件列表:

类型触发条件最低版本
touchstart手指触摸动作开始
touchmove手指触摸后移动
touchcancel手指触摸动作被打断,如来电提醒,弹窗
touchend手指触摸动作结束
tap手指触摸后马上离开(点击)

注:除上表之外的其他组件自定义事件如无特殊声明都是非冒泡事件,如 formsubmit事件,inputinput事件,scroll-viewscroll事件,  

普通事件绑定

事件绑定的写法类似于组件的属性,语法如下:

冒泡事件:<组件 bind事件名="函数名"></组件>
非冒泡事件:<组件 catch事件名="函数名"></组件>

//js
函数名(){}
<view bindtap="demo">
  点我试试
  <view bindtap="child">试试就试试</view>
</view>
//ES6写法
demo(){
    console.log('儿子我是你爸爸');
},
child(){
    console.log('我有爸爸了');
},

绑定并阻止事件冒泡

bind 外,也可以用 catch 来绑定事件。与 bind 不同, catch 会阻止事件向上冒泡。

<view bindtap="demo">
  点我试试
  <view catchtap="child">试试就试试</view>
</view>

事件传参

在组件节点中可以附加一些自定义数据。这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。

在 WXML 中,这些自定义数据以 data- 开头,多个单词由连字符 - 连接。这种写法中,连字符写法会转换成驼峰写法,而大写字符会自动转成小写字符。如:

  • data-element-type ,最终会呈现为 event.currentTarget.dataset.elementType

  • data-elementType ,最终会呈现为 event.currentTarget.dataset.elementtype

<view 
bindtap="getParams" 
data-id="8090" 
data-user="{{user}}"
data-user-name="admin">
    事件传参
</view>
data: {
    user:'张三'
  },
  //参数的传递
  getParams(e){
    console.log(e);
    console.log(e.target.dataset.id);
  },

setData方法(非侵入式修改,vue属于侵入式)

//视图同步修改
this.setData({
    flag:!this.data.flag
});

//this.flag=!this.flag

setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。

注意:

  1. 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致

  2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

<button type="primary" bindtap="change">点击切换显示隐藏</button>
<view class="box" wx:if="{{flag}}"></view>

小案例

点击的当前元素添加背景颜色

<view wx:for="{{arr}}" class="{{index===num?'bg':''}}" data-index="{{index}}" bindtap="changeBg" >
  {{item}}
</view>
data: {
    num: 0,
    arr: ['周六', '周日', '周五', '周四', '周三'],
  },
  //给点击的当前行添加背景颜色
  changeBg(e) {
    //点击当前行的时候获取index下标,赋值给data数据里面的num
    this.setData({
      num: e.target.dataset.index
    })
  },

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: wx-charts是一款基于小程序开发的图表插件,它提供了丰富的图表样式和丰富的交互功能。通过阅读官方文档,我们可以深入了解这个插件的使用方法和相关API。 文档的结构清晰,以快速入门、基本配置、图表类型、图表属性、事件和回调等部分来组织内容。在快速入门部分,它提供了安装和使用wx-charts的基本步骤,方便开发者快速上手。 在基本配置部分,文档介绍了如何对图表进行基本配置,如设置图表的大小、颜色、背景等属性。它还介绍了如何使用数据来渲染图表,并通过示例代码展示了不同类型的图表的使用方法。 在图表类型部分,文档列举了各种图表类型,如折线图、柱状图、饼图等,每种图表类型都有详细的说明和示例代码,帮助开发者了解每种图表的特点和用途。 在图表属性部分,文档介绍了图表的各种属性和方法,如是否显示图例、是否显示标签、是否显示数值等。它还提供了一些常用的属性配置示例,帮助开发者根据自己的需求进行图表样式的定制。 此外,文档还介绍了图表的事件和回调函数,包括图表的点击事件、触摸事件等,开发者可以根据这些事件来实现一些交互功能,如点击图表某个数据点显示详细信息等。 总的来说,wx-charts官方文档提供了详细的使用方法和API说明,帮助开发者快速了解和使用这个图表插件。它的示例代码丰富,结构清晰,适合开发者学习和参考。通过阅读官方文档,开发者可以轻松使用wx-charts插件开发出各种图表功能丰富的小程序。 ### 回答2: 小程序wx-charts官方文档是一个指南,用于帮助开发人员了解如何在微信小程序中使用wx-charts这个图表库。该文档提供了详细的使用说明和示例代码,帮助开发人员快速上手。 文档首先介绍了wx-charts的基本概念和特点,包括它提供的各种图表类型和功能。然后,文档详细说明了如何引入wx-charts库以及相关的依赖项。开发人员可以按照文档中提供的步骤,下载安装wx-charts,并在小程序中进行配置。 随后,文档逐一介绍了每种图表类型的使用方法,包括折线图、柱状图、饼图等。每个图表类型都有相应的代码示例和参数说明,开发人员可以根据自己的需求进行定制。文档还提供了一些常见问题和解决方案,以帮助开发人员在使用过程中遇到困难时进行排查和解决。 此外,官方文档还介绍了一些高级功能和扩展,例如如何处理图表的交互事件以及如何自定义样式和主题。这些功能可以帮助开发人员根据自己的需求和设计要求,进一步优化和定制图表。 总而言之,小程序wx-charts官方文档提供了全面而详细的说明,帮助开发人员轻松上手并灵活使用这个图表库。它是一个宝贵的参考资源,为开发人员提供了极大的便利和效率。 ### 回答3: wx-charts是一款基于微信小程序平台的图表插件,它提供了丰富多样的图表类型和可定制的选项,使得开发者可以方便地在小程序中创建各种图表展示。 wx-charts官方文档详细介绍了插件的安装和使用方法。文档中首先介绍了如何通过npm安装wx-charts,并在小程序的app.json文件中进行配置。接着,文档详细介绍了插件提供的各种图表类型,包括折线图、柱状图、饼图、雷达图等等,并提供了每种图表类型的使用示例和参数说明。 在文档的使用教程部分,官方提供了一步一步的操作指引,帮助开发者快速上手。例如,文档详细介绍了如何创建一个折线图,包括如何引入wx-charts插件、在页面wxml中添加图表的Canvas容器、在页面js文件中初始化图表实例和设置图表的数据和样式等等。这些教程都以简洁明了的代码示例作为辅助,让开发者能够更好地理解和学习。 此外,官方文档还介绍了wx-charts插件的一些高级用法和特性,例如如何通过修改源码来自定义图表的样式、如何在图表中添加动画效果等等。这些高级用法可以帮助开发者更加灵活和自由地使用插件,满足不同的需求。 总的来说,wx-charts官方文档提供了全面、详细的插件介绍和使用指南,对于想要在微信小程序中使用图表展示的开发者来说,是一个非常有价值的参考资料。无论是初学者还是有一定经验的开发者,都可以通过阅读官方文档来学习和掌握wx-charts插件的使用方法和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑猪去兜风z1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值