微信小程序实现事件传参与数据同步流程详解

 更新时间:2022年10月09日 10:07:54   作者:honker707  
这篇文章主要介绍了微信小程序开发中实现事件传参与数据同步的详细流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

在事件处理函数中为data中的数据赋值

通过调用this.setData(dataObject)方法,可以给页面data中的数据重新赋值,示例如下:

hacker.wxml

<button type="primary" bindtap="CountChange">+1 按钮</button>

hacker.js

Page({
    data:{
        count:0
    },
   // +1按钮的点击事件处理函数
   CountChange(){
       this.setData({
           count:this.data.count + 1
       })
   }
})

事件传参

小程序中的事件传参比较特殊,不能在绑定事件的同时为事件处理函数传递参数,例如,下面的代码不能正常运行:

<button type="primary" bindtap='btnHandler(123456)'>事件传参</button>

因为小程序会把bindtap的属性值统一当做事件名称来处理,相当于调用一个名称为btnHandler(123456)的事件处理函数。

可以为组件提供data-自定义属性传参,其中代表的是参数的名字,示例如下:

info:参数名字

2:参数值

<button type="primary" bindtap="btnHandler" data-info="{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{2}}">事件传参</button>

在事件处理函数中,通过event.target.dataset.参数名即可获取具体的参数值,示例代码如下:

 btnHandler(event){
        // dataset是一个对象,包含所有通过data-*传来的参数项
        console.log(event.target.dataset)
        // 通过dataset可以访问具体的参数值
        console.log(event.target.dataset.info)
    },

代码如下:

hacker.js

Page({
    data:{
        count:0
    },
    btnHandler(e){
        this.setData({
            count:this.data.count + e.target.dataset.info
        })
    },
})

hacker.wxml

<button type="primary" bindtap="btnHandler" data-info="{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{2}}">+2按钮</button>

运行结果如下:

bindinput的语法格式

在小程序中,通过input事件来响应文本框的输入事件,语法格式如下:

①通过bindinput,可以为文本框绑定输入事件

<input bindinput="inputHandler"></input>

②在页面的.js文件中定义事件处理函数

Page({
    inputHandler(e){
        // e.detail.value 是变化过后,文本框的最新值
        console.log(e.detail.value)
    }
})

运行结果如下:

实现文本框和data之间的数据同步

实现步骤

①定义数据

Page({
    data:{
        msg:'你好,'
    }, 
})

②渲染结构

<input value="{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{msg}}" bindinput="iptHandler"></input>

③美化格式

input{
    border:1px solid #eee;
    padding:5px;
    margin:5px;
    border-radius:3px;
}

④绑定input事件处理函数

iptHandler(e){
        this.setData({
            // 通过e.detail.value 获取文本框最新值
            msg:e.detail.value
        })
    }

运行结果如下:

到此这篇关于微信小程序实现事件传参与数据同步流程详解的文章就介绍到这了,更多相关小程序事件传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Bootstrap框架安装使用详解

    Bootstrap框架安装使用详解

    这篇文章主要为大家详细介绍了Bootstrap框架的安装使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 你不知道的高性能JAVASCRIPT

    你不知道的高性能JAVASCRIPT

    想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影。 本文会分享一些高效的JavaScript的最佳实践,提高大家对JS的底层和实现原理的理解,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JavaScript中解决多浏览器兼容性23个问题的快速解决方法

    JavaScript中解决多浏览器兼容性23个问题的快速解决方法

    下面小编就为大家带来一篇JavaScript中解决多浏览器兼容性23个问题的快速解决方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Javascript 修改String 对象 增加去除空格功能(示例代码)

    Javascript 修改String 对象 增加去除空格功能(示例代码)

    这篇文章主要介绍了Javascript 修改String 对象 增加去除空格功能(示例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • JS使用可选链操作符 (?.) 进行空值检查的操作

    JS使用可选链操作符 (?.) 进行空值检查的操作

    在 JavaScript 中,处理嵌套对象或数组时,经常会遇到空值检查的问题,传统的空值检查通常比较繁琐,容易导致代码冗长且难以阅读,ES2020 引入了可选链操作符 (?.),极大地简化了这些检查过程,本文介绍了JS使用可选链操作符 (?.) 进行空值检查的操作
    2024-12-12
  • p5.js入门教程之图片加载

    p5.js入门教程之图片加载

    这篇文章主要介绍了p5.js入门教程之图片加载,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 百度小程序自定义通用toast组件

    百度小程序自定义通用toast组件

    这篇文章主要介绍了百度小程序自定义通用toast组件,百度小程序的toast仅支持在页中展示,不能自定义位置、字体大小、在单个文本中增加icon等需求;因此自定义一个全局可通用的Toast,需要的朋友可以参考下
    2019-07-07
  • JS表格组件神器bootstrap table详解(基础版)

    JS表格组件神器bootstrap table详解(基础版)

    这篇文章主要介绍了JS表格组件神器bootstrap table,bootstrap table界面采用扁平化的风格,用户体验比较好,更好兼容各种客户端,需要了解更多bootstrap table的朋友可以参考下
    2015-12-12
  • ES6中javascript实现函数绑定及类的事件绑定功能详解

    ES6中javascript实现函数绑定及类的事件绑定功能详解

    这篇文章主要介绍了ES6中javascript实现函数绑定及类的事件绑定功能,结合实例形式分析了ES6中函数绑定及类的事件绑定原理、实现方法、相关操作技巧与注意事项,需要的朋友可以参考下
    2017-11-11
  • JavaScript语句可以不以;结尾的烦恼

    JavaScript语句可以不以;结尾的烦恼

    JavaScript语句可以不以;结尾的烦恼...
    2007-03-03

最新评论