前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微信小程序】事件传参与数据同步

【微信小程序】事件传参与数据同步

作者头像
hacker707
发布2022-10-31 16:12:03
1.2K0
发布2022-10-31 16:12:03
举报
文章被收录于专栏:hacker的个人博客

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:微信小程序🥇 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待💖💖💖

在这里插入图片描述
在这里插入图片描述

事件传参与数据同步

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

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

hacker.wxml

代码语言:javascript
复制
<button type="primary" bindtap="CountChange">+1 按钮</button>

hacker.js

代码语言:javascript
复制
Page({
    data:{
        count:0
    },
   // +1按钮的点击事件处理函数
   CountChange(){
       this.setData({
           count:this.data.count + 1
       })
   }
})
在这里插入图片描述
在这里插入图片描述

事件传参

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

代码语言:javascript
复制
<button type="primary" bindtap='btnHandler(123456)'>事件传参</button>

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

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

info:参数名字 2:参数值

代码语言:javascript
复制
<button type="primary" bindtap="btnHandler" data-info="{{2}}">事件传参</button>
在这里插入图片描述
在这里插入图片描述

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

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

    },

✅代码如下: hacker.js

代码语言:javascript
复制
Page({
    data:{
        count:0
    },
    btnHandler(e){
        this.setData({
            count:this.data.count + e.target.dataset.info
        })
    },
})

hacker.wxml

代码语言:javascript
复制
<button type="primary" bindtap="btnHandler" data-info="{{2}}">+2按钮</button>

🐱‍🏍运行结果如下:

在这里插入图片描述
在这里插入图片描述

bindinput的语法格式

在小程序中,通过input事件来响应文本框的输入事件,语法格式如下: ①通过bindinput,可以为文本框绑定输入事件

代码语言:javascript
复制
<input bindinput="inputHandler"></input>

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

代码语言:javascript
复制
Page({
    inputHandler(e){
        // e.detail.value 是变化过后,文本框的最新值
        console.log(e.detail.value)
    }
})

🐱‍🏍运行结果如下:

在这里插入图片描述
在这里插入图片描述

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

实现步骤 ①定义数据

代码语言:javascript
复制
Page({
    data:{
        msg:'你好,'
    }, 
})

②渲染结构

代码语言:javascript
复制
<input value="{{msg}}" bindinput="iptHandler"></input>

③美化格式

代码语言:javascript
复制
input{
    border:1px solid #eee;
    padding:5px;
    margin:5px;
    border-radius:3px;
}

④绑定input事件处理函数

代码语言:javascript
复制
iptHandler(e){
        this.setData({
            // 通过e.detail.value 获取文本框最新值
            msg:e.detail.value
        })
    }

🐱‍🏍运行结果如下:

在这里插入图片描述
在这里插入图片描述

结束语🥇

以上就是微信小程序之事件传参与数据同步 持续更新微信小程序教程,欢迎大家订阅系列专栏🔥微信小程序 你们的支持就是hacker创作的动力💖💖💖

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事件传参与数据同步
  • 在事件处理函数中为data中的数据赋值
  • 事件传参
  • bindinput的语法格式
  • 实现文本框和data之间的数据同步
  • 结束语🥇
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档