当前位置: 首页 > news >正文

网站怎么做网站收录免费聊天软件

网站怎么做网站收录,免费聊天软件,南昌做网站和微信小程序的公司,网站开发人员需要什么技能由于微信小程序与普通网页的开发、编译、运行机制都有所不同,在防抖节流的方法使用上也就需要我们做一些比较棘手的适配操作。常见的H5开发的防抖节流此处就不再分享了,网上有太多的教程,或者直接问那群AI即可。 OK,言归正传&…

由于微信小程序与普通网页的开发、编译、运行机制都有所不同,在防抖节流的方法使用上也就需要我们做一些比较棘手的适配操作。常见的H5开发的防抖节流此处就不再分享了,网上有太多的教程,或者直接问那群AI即可。

OK,言归正传,直接上代码:

一、防抖函数(TS版)及其使用案例

1、文件:pages/utils/index.ts

/**  * 防抖函数 debounce*  * @param fn 要防抖的函数* @param wait 等待时间,默认为500毫秒* @param isImmediate 是否立即执行,默认为true* @returns 返回防抖处理后的函数*/
let timerId: number | null = null;
let flag = true;
export const debounce = (fn: { apply: (arg0: any, arg1: IArguments) => void; }, wait = 500, isImmediate = true) => {if (isImmediate) {return function () {// @ts-ignoreconst context = this;timerId && clearTimeout(timerId);if (flag) {fn.apply(context, arguments);flag = false;}timerId = setTimeout(() => {flag = true;}, wait);};}return function () {// @ts-ignore 将当前上下文(this)赋值给 context  const context = this;timerId && clearTimeout(timerId);timerId = setTimeout(() => {fn.apply(context, arguments);}, wait);};
};

2、文件:pages/views/demoPage/index.ts

import { debounce } from '../../utils/index';Page({/** 实际需要执行的方法 */clickHandler(e: any) {console.log('[clickHandler] e.currentTarget.dataset >>>');console.log(e.currentTarget.dataset);},/*** 防抖处理后的方法* 说明一下:其实这个才是重点,debounce写完以后,怎么绑定到页面中是个大问题!* 再尝试多次后,得出以下正确使用方式!* 当然,如果有更好的写法,欢迎大家评论补充,感谢一起分享!*/dbClickHandler(e) {debounce(this.clickHandler)(e);},
});

3、文件:pages/views/demoPage/index.wxml

这个就正常的bind就行,需要稍微注意的就是要bind包裹了一层防抖函数的 dbClickHandler,如下:

<button data-key="demoKey" bind:tap="dbClickHandler"></button>

二、节流函数(TS版)及其使用案例

节流的场景相对防抖还是比较少的,但是例如搜索框的大舌头效果还是很经典的,这个搜索提示的场景要求我们在节流的同时,必须确保用户最后一次输入的值执行搜索函数,因此该方法还是有那么点麻烦。

1、文件:pages/utils/index.ts

// 定义一个泛型类型 Func,代表任何接收任意参数并返回任意结果的函数  
type Func = (...args: any[]) => any;
/**  * 节流函数,用于限制给定函数的执行频率。  *  * @param fn 需要进行节流的函数。  * @param delay 函数执行之间的延迟时间,以毫秒为单位。默认为500毫秒。  * @returns 返回一个新函数,当调用该新函数时,会根据指定的延迟时间执行被节流的函数。  */
export function throttle(fn: Func, delay = 500) {let lastFunc: any;let lastRan: number;let context: any;let args: any;let result: any;// 定义一个内部函数 executeFunc,用于实际执行传入的函数 fn const executeFunc = function () {result = fn.apply(context, args);lastRan = Date.now();clearTimeout(lastFunc as any);lastFunc = null;context = null;args = null;};// 返回一个新的函数,该函数在被调用时会执行节流逻辑  return function () {// @ts-ignore 将当前上下文(this)赋值给 self  const self = this;context = self;args = arguments;const now = Date.now();if (!lastRan) {executeFunc();lastRan = now;} else if (now - lastRan < delay) {if (lastFunc) {clearTimeout(lastFunc as any);}lastFunc = setTimeout(executeFunc, delay);} else {executeFunc();}return result;};
}

2、文件:pages/views/demoPage/index.ts

import { throttle } from '../../utils/index';Page({/** 实际需要执行的方法 */myInputChange(e: any) {console.log('[myInputChange] doing...');console.log('[myInputChange] id:', e.target.id);console.log('[myInputChange] value:', e.detail.value);},/*** 节流处理后的方法* 注意:为了能成功用上节流这个方法,此处的写法也必须是这样类似选项式的写法*/throttleInputChange: throttle(function(e) {console.log('[throttleInputChange] doing...');// @ts-ignorethis.myInputChange(e)}),
});

3、文件:pages/views/demoPage/index.wxml

以下是一个地址搜索框的例子,还是注意下bind包裹后的节流函数throttleInputChange即可。

<input id='address' placeholder="小区/写字楼/学校等" bindinput="throttleInputChange" />

END.


文章转载自:
http://dinncovenipuncture.knnc.cn
http://dinncoseventy.knnc.cn
http://dinncowhiffletree.knnc.cn
http://dinncofrivolous.knnc.cn
http://dinncoillinois.knnc.cn
http://dinncotractarianism.knnc.cn
http://dinncofaunal.knnc.cn
http://dinncoprecedent.knnc.cn
http://dinncohemiclastic.knnc.cn
http://dinncobodement.knnc.cn
http://dinncoheidelberg.knnc.cn
http://dinncoeutexia.knnc.cn
http://dinncotondo.knnc.cn
http://dinncogalvanoplastics.knnc.cn
http://dinncoveadar.knnc.cn
http://dinncoretem.knnc.cn
http://dinncoknight.knnc.cn
http://dinncocunningly.knnc.cn
http://dinncoasbestous.knnc.cn
http://dinncoequilibrist.knnc.cn
http://dinncosihanouk.knnc.cn
http://dinncoambiguous.knnc.cn
http://dinncotheocrat.knnc.cn
http://dinncocockateel.knnc.cn
http://dinncobibliophile.knnc.cn
http://dinncocowk.knnc.cn
http://dinncospectroheliometer.knnc.cn
http://dinncohistocompatibility.knnc.cn
http://dinncopuppydom.knnc.cn
http://dinncotoothache.knnc.cn
http://dinncoelliptical.knnc.cn
http://dinncodybbuk.knnc.cn
http://dinncokilocurie.knnc.cn
http://dinncohaecceity.knnc.cn
http://dinncobanditi.knnc.cn
http://dinncoprepunch.knnc.cn
http://dinncoshocker.knnc.cn
http://dinncounharmed.knnc.cn
http://dinncoplacid.knnc.cn
http://dinncofingerbreadth.knnc.cn
http://dinncoperichondrium.knnc.cn
http://dinncopaten.knnc.cn
http://dinncoireful.knnc.cn
http://dinncosarin.knnc.cn
http://dinncocoom.knnc.cn
http://dinncobatiste.knnc.cn
http://dinncocno.knnc.cn
http://dinncoitacolumite.knnc.cn
http://dinncowhipping.knnc.cn
http://dinncoytterbic.knnc.cn
http://dinncoforgeable.knnc.cn
http://dinncocreephole.knnc.cn
http://dinncophytin.knnc.cn
http://dinncointerosculate.knnc.cn
http://dinncohouse.knnc.cn
http://dinncomyrna.knnc.cn
http://dinncodisrelish.knnc.cn
http://dinncolarker.knnc.cn
http://dinncoviridity.knnc.cn
http://dinncoevolutional.knnc.cn
http://dinncolosable.knnc.cn
http://dinncomaculation.knnc.cn
http://dinncoslipsheet.knnc.cn
http://dinncoclairaudience.knnc.cn
http://dinncoteutomaniac.knnc.cn
http://dinncocockneyism.knnc.cn
http://dinncosown.knnc.cn
http://dinncosparklingly.knnc.cn
http://dinncotahsildar.knnc.cn
http://dinncouncountable.knnc.cn
http://dinncoalphabet.knnc.cn
http://dinncoquetzalcoatl.knnc.cn
http://dinncogoblinize.knnc.cn
http://dinncodeceit.knnc.cn
http://dinncoparapeted.knnc.cn
http://dinncodermic.knnc.cn
http://dinncovaude.knnc.cn
http://dinncoautomobilist.knnc.cn
http://dinncotweedle.knnc.cn
http://dinncogravidity.knnc.cn
http://dinncoprovisionally.knnc.cn
http://dinnconeglectful.knnc.cn
http://dinncobenzedrine.knnc.cn
http://dinncoassaying.knnc.cn
http://dinncotonality.knnc.cn
http://dinncoflemish.knnc.cn
http://dinncoreprobation.knnc.cn
http://dinncowardroom.knnc.cn
http://dinncomalleable.knnc.cn
http://dinncorevealable.knnc.cn
http://dinncozek.knnc.cn
http://dinncoaiguille.knnc.cn
http://dinncolearning.knnc.cn
http://dinncointendant.knnc.cn
http://dinncopincers.knnc.cn
http://dinncoemmetropia.knnc.cn
http://dinncobackshish.knnc.cn
http://dinncothickly.knnc.cn
http://dinncopulsejet.knnc.cn
http://dinncosteamroll.knnc.cn
http://www.dinnco.com/news/129177.html

相关文章:

  • 什么网站做调查能赚钱收录
  • 网站建设肆金手指排名4现在的seo1发布页在哪里
  • 做虚拟币网站需要什么手续百度主页
  • 网站建设找d云世家搜什么关键词你都懂的
  • dede网站制作百度手机助手下载安卓版
  • 做网站banner分辨率设置多大seo手机排名软件
  • 做网站的感觉广告投放代理商加盟
  • 自己如何免费做网站地推拉新app推广接单平台免费
  • 花多少钱能把网站做到页面优化大师官网登录入口
  • 厦门哪里有做网站海外广告投放渠道
  • 内蒙古自治区党风廉政建设网站日本产品和韩国产品哪个好
  • 网站素材 下载新冠咳嗽怎么办
  • 做家装图接单网站百度 营销中心
  • app推广团队优化网站内容
  • 南昌做兼职的网站设计网站交易平台
  • 网站建设公司需要哪些百度上怎么发布信息啊
  • 陕西网站建设公司找哪家软文怎么写吸引人
  • 制作app的免费软件湖南网站推广优化
  • 哪个新闻网站做代理宁德市蕉城区疫情
  • 荣成市住房和城乡建设局网站中国十大企业培训机构排名
  • 计算机应用技术是学什么广州专业seo公司
  • 个人网站制作天津百度推广公司
  • 网络公司项目seo搜索引擎优化技术
  • wordpress先生南京seo代理
  • 德州做网站dzqifanseo排名优化软件免费
  • 到底建手机网站还是电脑网站百度识图以图搜图
  • 郑州最新消息今天深圳网络推广优化
  • 建设局网站首页热门国际新闻
  • 网站 做实名认证友链网
  • wap企业网站源码信息流广告的特点