首页 > 编程语言 >微信小程序7 事件绑定,传值,嵌套传值

微信小程序7 事件绑定,传值,嵌套传值

时间:2023-08-03 15:47:02浏览次数:46  
标签:target 微信 dataset 嵌套 currentTarget 按钮 js 传值

之前介绍的控件,比如按钮,单选,复选这些,通常我们都需要绑定相应的事件来实现功能。

以button为例

找到之前我们test页面的按钮,使用bind:tap绑定js事件

<button bind:tap="clickBtn1">我是按钮1</button>

在test.js中追加方法

  clickBtn1(){
    console.log("btn1 is click");
  }

保存后点击按钮,控制台打印出了 btn1 is click。

 

以input输入框为例

输入框我们通常会监听输入内容,用bindinput监听

<input type="text" bindinput="changeInput"></input>

js方法

  changeInput(e){
    console.log(e.detail.value);
  }

打印出改变后的值,注意这种输入框实时变化的值用e.detail.value获取。

 

传值

跟html中调用js方法不一样,不是 方法名(参数1,参数2)这么传值。

以第一个button的点击事件为例,如果我们要传参数

<button bind:tap="clickBtn1" data-id="1001" data-name="张三">我是按钮1</button>

data-id和data-name是特殊的命名方式,“data-”是固定部分,后面跟的是我们自定义的参数名。

在js中,通过e.currentTarget.dataset.参数名获取。

  clickBtn1(e){
    console.log(e.currentTarget.dataset.id+":"+e.currentTarget.dataset.name);
  },

e和上面输入框的示例一样,是触发事件的元素对象,e.currentTarget表示当前对象本身。

同时我们还发现有e.target,结构和e.currentTarget一样,它有什么用呢?

 

e.currentTarget 和 e.target

举例三个view嵌套了

<view bind:tap="clickView" data-a="1001">我是外层的View   <view data-b="2001">我是中层的View     <view data-c="3001">我是内层的View</view>   </view> </view>

我们在clickView方法中打印e,可以发现

点击外层view的时候,e.currentTarget.dataset和e.target.dataset都是 a: "1001",并没有b和c的存在。

点击中层view时,e.currentTarget.dataset是 a: "1001",e.target.dataset都是 b: "2001",并没有c的存在。

点击内层view时,e.currentTarget.dataset是 a: "1001",e.target.dataset都是 c: "3001",并没有b的存在。

也就是说,currentTarget永远是最外层的元素对象,target则是实际选中的子元素对象,我们通过运用这两个,可以灵活获取不同位置的参数。

 

标签:target,微信,dataset,嵌套,currentTarget,按钮,js,传值
From: https://www.cnblogs.com/luyShare/p/17603502.html

相关文章

  • uniapp中使用微信支付
     超简单wx.requestPayment({ timeStamp:zhifu.timeStamp,//需要的参数,由后端返回 nonceStr:zhifu.nonceStr,//需要的参数,由后端返回 package:zhifu.prepayId,//需要的参数,由后端返回 signType:zhifu.signType,//需要的参数,由后端返回 paySign:zh......
  • spring-boot(廖师兄微信下单系统)学习笔记
    1、lombok工具1.1、依赖groupId:org.projectlombok;artifactId:lombok1.2、idea要安装lombokplugin1.3、作用:对model类加一个@Data注解就可以省写setandget方法对类加@Slf4j注解可以直接通过log调用日志方法对类加@Getter注解就可以省去写get方法2、不要在for中有查询......
  • 微信小程序页面跳转方法总结
    在我们日常的开发过程中,跳转页面是每个项目中必有的需求,包括监听返回按钮,回到指定页面,在小程序中页面跳转即页面路由页面栈框架以栈的形式维护了当前的所有页面。当发生路由切换的时候,页面栈的表现如下:getCurrentPages()函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一......
  • 微信小程序中获取用户信息、用户手机号
    1、小程序中获取用户信息、用户手机号等,属于敏感操作,需要用户主动触发,即:<buttonopen-type="getPhoneNumber"onGetPhoneNumber="handleGetPhoneNumberButtonClick">一键登录</button>上面的伪代码是获取用户手机号的操作,点击按钮会第一时间触发半屏弹窗让用户授权获取手......
  • 微信小程序:富文本编辑器组件
    参考文章:微信小程序之实现封装一个富文本编辑器Editor的完整流程【附demo源码】欢迎点赞收藏地址:https://blog.csdn.net/XH_jing/article/details/115509316demo源码: https://github.com/jxh1997/Editor ,所以源代码均在Github上,下载即可使用。我个人在demo源码的基础上稍......
  • 客服如何通过微信接收消息通知-唯一客服文档中心
    当我们在自己网站上嵌入对接了客服代码,我们想要通过微信接收访客的消息提醒通知,可以通过扫描客服后台的微信二维码,即时收消息通知提醒。我们网站地址:gofly.v1kf.com客服后台后台主页面板,就展示了一个微信二维码,扫码关注公众号,就能将客服账号与微信公众号进行绑定,通过微信公众号......
  • 微信小程序学习笔记(完结)
    本笔记是小程序学习笔记,主要记录小程序の基础知识说明本笔记为观看慕课网微信小程序入门与实战-全新版、尚硅谷2021版微信小程序开发(零基础小程序开发入门到精通)这两个教学视频、并参照官方的微信开放文档记录整理而成两个教学视频主要就是是面向初学者......
  • 微信小程序6 常用标签之 input,基础样式
    inputinput标签不做任何设置的时候,就是个输入框,需要注意的是默认没有样式,这跟html不同。<input></input> 我输入了内容,但是可以看到没有边框样式。 type属性1.text,就是默认的type属性值,输入框;2.password,密码框;3.number,只能输入数字,但是要在移动端才能看......
  • 微信支付回调
    在微信支付的回调中,常用参数列举如下:$resultArray['out_trade_no']:商户订单号。$resultArray['transaction_id']:订单号。$resultArray['amount']['total']:订单金额。$resultArray['mch_id']:商户号,即微信支付分配的商户号。$resultArray['appid']:公众账号ID,......
  • uniapp微信小程序实现记录退出程序功能
    uniapp微信小程序实现记录退出程序功能获取用户在申请过程中退出小程序时的路径,进而知道客户在哪个时间哪个结点离开的程序。我可以可以分析用户退出原因,或者告知用户在申请过程中还差几步就能结束了。记录地方在uniapp的app.vue文件。在此的onhide生命周期中,通过getCurrentPages()......