当前位置: 首页 > news >正文

湖北工程建设总承包有限公司网站北京疫情最新新闻

湖北工程建设总承包有限公司网站,北京疫情最新新闻,网站空间服务多少钱,山东东平建设工程招标网站事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参; 在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成…

事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参;

在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成业务逻辑的开发,这个过程称为小程序的事件传参;

在组件上通过 data-* 定义需要传递的数据,其中 * 是自定义的属性,例如:<view data-id="100" bindtap="handler" />,代码中的 id 就是自定义的属性,属性值 100 是需要传递的数据,然后通过事件对象获取自定义的数据;

下面打开微信开发者工具演示一下事件传参的使用步骤,在演示完后讲解一下相关的注意事项:

  • 在 pges/cate/cate.wxml 文件中添加下面代码:

    <view><button bind:tap="btnHandler" data-id="1" data-name="tom">按钮</button>
    </view>
    

    绑定事件 btnHandler,自定义 id 和 name 数据;

  • 在 pages/cate/cate.js 文件中定义 btnHandle 事件处理函数:

      btnHandler(event){console.log(event)}
    
  • 在 pages/cate/cate.scss 文件中定义一下 view 的样式:

    view {display: flex;height: 300rpx;background-color: skyblue;align-items: center;
    }
    

在页面中点击按钮,在 console 中可以看到打印的事件对象信息,如下:

在这里插入图片描述
打开事件对象,可以看到在 currentTarget 和 target 中都能看到传递的数据信息,如下:

在这里插入图片描述在这里插入图片描述
这时候我们需要了解一下 currentTarget 和 target 的区别是什么:

  • currentTarget:事件绑定者,也就是指哪个组件绑定了当前事件处理函数;
  • target:事件触发者,也就是指哪个组件出发了当前事件处理函数;

在这个例子中,currentTarget 的事件绑定者是 btn 按钮,target 的事件触发者也是 btn 按钮;

接下来看一下 currentTarget 和 target 不是指向同一个组件的情况:

  • 在 pages/cate/cate.wxml 中添加下面代码:
<view bind:tap="parentHandler" data-parentid="1" data-parentname="tom"><button data-id="1" data-name="tom">按钮</button>
</view>
  • 在 pages/cate/cate.js 中添加下面代码:
 parentHandler (event) {console.log(event)}

刷新重新运行,清空 console 区域,点击按钮周围的蓝色区域(注意不要点击按钮),观察 console 打印的事件对象信息,如下:

在这里插入图片描述
可以看到,在打印的事件对象中,currentTarget 获得的数据是 parentid 和 parentname,可以知道当前的事件绑定者是 view,如下:

在这里插入图片描述
同样,target 获取的数据也是 parentid 和 parentname,可以知道当前事件的触发者也是 view,如下:

在这里插入图片描述
下面点击按钮(注意不要点击按钮外的蓝色区域),观察 console 打印的事件数据,可以发现,currentTarget 绑定的数据是 view 对应的自定义数据,如下:

在这里插入图片描述
再看一下 target 的数据,可以看到 target 中绑定的数据是 button 中对应的自定义数据,因为这里是点击按钮触发的事件,所以 target 的数据为 button 中定义的数据,如下:

在这里插入图片描述
接下来讲解一下两个注意事项:

  • 假如事件在传递参数的时候,自定义属性是由多个单词来组成的,单词与单词之间使用中划线(-)来分隔,获取事件对象的数据的时候需要使用驼峰格式,比如上面的 parentid 和 parentname 修改为中划线格式,如下:

    <view bind:tap="parentHandler" data-parent-id="1" data-parent-name="tom"><button data-id="1" data-name="tom">按钮</button>
    </view>
    

    使用中划线命名属性之后,我们在开发者模式中看一下如何获取对应的数据属性,打开 console 模式,点击按钮,在打印的数据中可以看到,对应的属性名变为了驼峰命名写法,如下:

    在这里插入图片描述
    在定义数据的时候,使用的是中划线,在获取数据的时候,使用驼峰格式;

    因此我们需要注意,当使用中划线命名单词的时候,获取事件对象的数据需要使用驼峰格式获取数据;

  • 假如事件在传递参数的时候,自定义参数使用驼峰命名,在获取事件对象的数据的时候,需要使用全小写的格式,如下:

    在这里插入图片描述

简单对上面的内容进行总结:

  • 事件传参使用 data-* 的格式;
  • event.currentTarget 是指事件绑定者,event.target 是指事件触发者;
  • 使用 data- 方法传递参数时,多个单词由中划线-连接时,获取事件数据时需要使用驼峰写法;
  • 使用 data- 方法传递参数时,多个单词由驼峰写法定义时,获取事件数据时需要使用全小写格式;

参考视频:尚硅谷微信小程序开发教程

http://www.cadmedia.cn/news/6564.html

相关文章:

  • 一元建站亚马逊查关键词搜索量的工具
  • 离石市网站建设公司沈阳网页建站模板
  • 如何设计商务网站汕头网站建设方案外包
  • wordpress 网站标题设置方法seo关键词排名优化官网
  • 松岗网站的建设十大嵌入式培训机构
  • 360街景地图怎么看商品seo优化是什么意思
  • 政府电子政务与网站建设总结谷歌chrome
  • 旅游哪个网站最好软文什么意思范例
  • 不用模板怎么建设网站厦门seo关键词
  • 三亚疫情最新政策广州百度seo代理
  • 付网站建设费新品牌推广策划方案
  • 许昌企业网站去哪开发河南郑州做网站的公司
  • 网站建设私单合同关键词排名客服
  • 域名怎么建设网站农产品网络营销推广方案
  • 最好网站建站公司抖音关键词推广怎么做
  • 个人网站论文结束语新开网店自己如何推广
  • 移动开发网站建设深圳网站设计制作
  • 百度怎么做网站百度ai营销中国行
  • 最新全国疫情数据seo排名首页
  • 中国建设银行在网站怎么签约灰色关键词排名
  • 小程序搭建是什么工作搜索引擎简称seo
  • 免费网站安全软件下载安装搜索引擎优化是什么?
  • 做网站开发的集团天津疫情最新消息
  • 手机电视直播网站大全湖北seo公司
  • 杭州网站建设开发外包公司seo外包费用
  • 成都市建设厅官方网站免费外链生成器
  • 建设和交通局网站他达拉非的副作用和危害
  • 域名注册后网站建设百度指数趋势
  • 南宁个人做网站的seo网站诊断顾问
  • 重庆网站建设公司那好南昌seo外包公司