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

网站产品内容在数据库快速建站

网站产品内容在数据库,快速建站,网站的360快照怎么做,网站ip段屏蔽事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参; 在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成…

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

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

在组件上通过 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.15wanjia.com/news/38607.html

相关文章:

  • 福建漳州网站建设费用百度广告联盟
  • 网站去哪里做上海seo有哪些公司
  • wordpress微信机器人下载金华百度seo
  • 做网站要多少带宽暴风seo论坛
  • 网站建设到上线步骤上海关键词优化排名软件
  • 建网站找哪家广东短视频seo搜索哪家好
  • 从化营销网站建设推广一个产品有哪些方式
  • 济南做网站优化seo课程总结怎么写
  • 网站建设石家庄快优优化英文
  • 自己怎么做企业网站磁力屋 最好用
  • 如今做知乎类网站怎么样百度搜索引擎优化详解
  • 广州网站开发系统怎么做网站关键词优化
  • 我做彩票网站开发彩票网站搭建楼市最新消息
  • 自适应网站的图做多大 怎么切seox
  • 哪个网站学习做辅助郑州seo顾问
  • 二级域名的子域名哈尔滨seo服务
  • 珠海营销网站建设百度搜索网址大全
  • 网站建设常见问题及解决办法如何在百度上做广告
  • 凡科网站怎样做网络推广外包流程
  • 网站开发的经费预算seo关键词优化是什么意思
  • 制作英文网站费用推广方式
  • 网站开发的层级结构北京新闻最新消息
  • 网站建设宽度一般都是多少aso优化app推广
  • 网页访客升级南京seo网站优化推广
  • 做企业网站要注意什么如何优化关键词提升相关度
  • 插入视频网站产品全网营销推广
  • java开发软件有哪些论坛seo教程
  • 快云助手网站建设视频搜索引擎有哪些平台
  • 做网站颜色如何搭配微信营销推广的方式有哪些
  • 邢台网站建设网络优化长沙关键词优化推荐