你对这个回答的评价是
你对这个回答的评价是
下载百喥知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
PS:本文原创首发于公众号「让我遇见相似的灵魂」回复关键字获取数十本程序员经典电子书。
在使用小程序的时候会出现这样┅种情况:当网络条件差或卡顿的情况下使用者会认为点击无效而进行多次点击,最后的情况这个问题可以通过JS中的函数节流和函数防抖找到解决方法。
根据官方文档介绍函数节流就是规定一个单位时间,在这个单位时间内只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次只有一次能生效。因此修改.js文件如下:
这样疯狂点击按钮也只会1s触发一次。
但是这样的话出現一个问题就是当你想要获取this.data得到的this是undefined, 或者想要获取微信跳转小程序组件button传递给点击函数的数据e也是undefined,所以throttle函数还需要做一点处理来使其能用在微信跳转小程序小程序的页面js里
出现这种情况的原因是throttle返回的是一个新函数,已经不是最初的函数了新函数包裹着原函数,所以组件button传递的参数是在新函数里所以我们需要把这些参数传递给真正需要执行的函数fn。
再次点击按钮this和e都有了: