千家信息网

微信小程序中怎么响应用户输入事件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这期内容当中小编将会给大家带来有关微信小程序中怎么响应用户输入事件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。微信小程序中如何响应用户输入事件让我们进一步学习微信
千家信息网最后更新 2026年11月03日微信小程序中怎么响应用户输入事件

这期内容当中小编将会给大家带来有关微信小程序中怎么响应用户输入事件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

微信小程序中如何响应用户输入事件

让我们进一步学习微信小程序控制器,掌握在小程序控制器中响应用户输入的方法。

这个例子很简单,在微信小程序的视图index.wxml里,我定义了一个按钮,和一个文本元素。

{{counter}}

文本元素绑定到小程序数据模型的counter字段上,是一个计数器。按钮绑定了一个事件处理函数jerry_increase。每点击一次按钮,微信小程序UI上的计数器加一。

为此,首先需要在控制器index.js的data数据模型里增添一个counter字段。

然后实现button的bindtap绑定的函数jerry_increase。可以看到这个事件处理函数有一个输入参数e:

当事件处理函数被调用时,这个输入参数e是微信框架自动传入到事件处理函数的。通过微信开发者工具的调试器可以看到这个参数e的明细:tap事件发生的X和Y坐标,以及事件类型tap。

我们如果从当前控制器事件处理函数执行栈向外观察,发现它的前一层,即微信框架层的处理逻辑里,在调用事件处理函数前后分别取两个当前的时间戳。如果时间戳之差大于1000毫秒,会执行第30365行的Reporter.slowReport。由此我们看出,微信希望开发者实现的事件处理函数要尽可能高效,执行时间不能超过1秒。在手机使用场景里,1秒的等待时间对于最终用户来说是一个相当长的时间了。

另一个值得一提的知识点是,如果直接用JavaScript修改数据模型的值,则UI不会有任何变化。

下面是错误的做法:

jerry_increase: function(e){     this.data.counter = this.data.counter + 1;},

下面是正确的做法:

jerry_increase: function(e){  this.setData({       counter: this.data.counter + 1});},

我们可以通过单步调试正确的做法来理会其中的奥妙:

可以看到this.setData里面会调用微信框架的c.default.emit函数,把最新的数据通过emit函数投递出去。

继续查看emit的实现,可以发现emit又调用了微信工具类wx的方法:invokeWebviewMethod。从WAService.js的内部实现,我们能发现其实微信小程序在手机上的执行实际是运行在WebView里的。

一旦WeixinJSBridge.publish.apply(WeixinJSBridge, e)这一行代码执行完毕,UI上的计数器才被刷新。

上述就是小编为大家分享的微信小程序中怎么响应用户输入事件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

事件 函数 程序 处理 输入 用户 时间 控制器 数据 控制 做法 参数 按钮 框架 模型 计数器 元素 内容 字段 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技垄断 没上市的科技互联网公司 合肥互联网科技公司 善班互联网科技 上海喔噻互联网科技 汇久创客互联网科技 融势互联网科技 互联网科技英文翻译 互联网金融和金融科技 互联网系的金融科技公司 互联网为啥属于高科技 民营互联网公司国防科技 深圳互联网科技的发展 宇信科技在杭州互联网排第几 湖北辰鑫科技互联网 张家口科技产业互联网平台 互联网科技对化妆品行业 科技互联网专业务虚会材料 广东猫王互联网科技有限公司电话 恒生科技互联网指数十大成分股 科技赋能下的互联网金融 广州互联网络科技有限公司 汇久创客互联网科技 联恩商钥互联网科技有限公司 团飞科技与伯堂互联网服务平台 厦门比较好的科技互联网公司 江阴互联网智能科技产品进口 互联网时代科技型公司的机会 深圳互联网科技园地址 保山浩联互联网科技有限公司
0