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

网站内链建设wordpress游戏网站主题

网站内链建设,wordpress游戏网站主题,怎么查网站关键词排名,河池市网站建设防抖与节流#xff0c;应用场景有很多#xff0c;例如#xff1a;禁止重复提交数据的场景、搜索框输入搜索条件#xff0c;待输入停止后再开始搜索。 防抖 点击button按钮#xff0c;设置定时器#xff0c;在规定的时间内再次点击会重置定时器重新计时#xff0c;在规定…防抖与节流应用场景有很多例如禁止重复提交数据的场景、搜索框输入搜索条件待输入停止后再开始搜索。 防抖 点击button按钮设置定时器在规定的时间内再次点击会重置定时器重新计时在规定的时间没有再次点击才执行相关函数。规定时间内最后一次点击有效。 节流 点击button按钮执行相关函数。设置定时器在规定的时间内连续点击均无效定时器过后可以再次点击。规定时间内可点击一次第一次点击有效。 案例-防抖 Vue项目中使用自定义指令实现按钮防抖功能。 应用场景搜索框输入搜索条件待输入停止后再开始搜索。 /* * 防抖规定时间内最后一次点击有效。 * param {?Number|300} time - 间隔时间毫秒 * param {Function} fn - 执行函数 * param {?String|click} event - 事件类型 例click * param {Array} binding.value - [fn,event,time] * 例el-button v-debounce[resetData,click,300]刷新/el-button * 也可简写成el-button v-debounce[resetData]刷新/el-button */ // 注册一个全局自定义指令 v-debounce Vue.directive(debounce, {// 当被绑定的元素插入到 DOM 中时……inserted: function (el, binding) {//binding.value使用自定义指令v-debounce时填写的参数//解构赋值定义了3个变量将参数数组按顺序进行赋值let [fn, event click, time 300] binding.valuelet timerel.addEventListener(event, () {//默认监听的事件为click//判断计时器是否存在存在则清除计时器。重新创建计时器到时间后执行函数fnif(timer){clearTimeout(timer)}timer setTimeout(() fn(), time)})} })案例-节流 Vue项目中使用自定义指令实现按钮节流功能。 应用场景click事件禁止重复提交数据的场景。 /* * 节流规定时间内可点击一次第一次点击有效。 * param {?Number|300} time - 间隔时间毫秒 * param {Function} fn - 执行函数 * param {?String|click} event - 事件类型 例click * param {Array} binding.value - [fn,event,time] * 例el-button v-throttle[resetData,click,300]刷新/el-button * 传递参数则el-button v-throttle[()resetData(param),click,300]刷新/el-button */ // 注册一个全局自定义指令 v-throttle Vue.directive(throttle, {// 当被绑定的元素插入到 DOM 中时……inserted: function(el, binding) {//binding.value使用自定义指令v-throttle时填写的参数//解构赋值定义了3个变量将参数数组按顺序进行赋值let [fn, event click, time 300] binding.valuelet timer null;el.addEventListener(event, () {//默认监听的事件为click//判断计时器是否存在不存在则执行函数fn创建计时器if (timer null) {fn();timer setTimeout(() timer null, time)}})} })//方案二 /*** 按钮节流* 3秒内只有第一次点击有效防止重复提交数据。*/ //注册一个全局自定义指令 v-throttle-disabled Vue.directive(throttle-disabled, {// 当被绑定的元素插入到 DOM 中时……inserted(el, binding) {let [event click, time 2 * 1000] binding.valueel.addEventListener(event, () {//默认监听click事件//当 dom元素el 非禁用状态时 将其设置为禁用状态同时设置计时器规定时间后默认2秒启用。if (!el.disabled) {el.disabled truesetTimeout(() {el.disabled false}, time)}})} })组件中使用 在.vue文件中data、methods同级的位置添加如下配置 , directives: {debounce: {//自定义指令名v-debounce// 指令的定义inserted: function(el, binding) {//binding.value使用自定义指令v-throttle时填写的参数//解构赋值定义了3个变量将参数数组按顺序进行赋值let [fn, event click, time 300] binding.valuelet timer null;el.addEventListener(event, () {//默认监听的事件为click//判断计时器是否存在不存在则执行函数fn创建计时器if (timer null) {fn();timer setTimeout(() timer null, time)}})}} },全局引入 新建js文件 在项目中新建 myDirective.js 文件。通过export default暴露出来。 /** Author: qsdbl* Date: 2022-02-10* Description: 添加全局自定义指令。* 防抖v-debounce。节流v-throttle、v-throttle-disabled可能无效。* 示例el-button v-throttle[resetData]刷新/el-button使用默认配置监听click事件300毫秒内只会执行一次函数resetData* 传递参数el-button v-throttle[()resetData(param)]刷新/el-button*/ export default {install(Vue, Options) {/** 防抖规定时间内默认300毫秒最后一次点击有效。* param {?Number|300} time - 间隔时间毫秒* param {Function} fn - 执行函数* param {?String|click} event - 事件类型 例click* param {Array} binding.value - [fn,event,time]* 例el-button v-debounce[resetData,click,300]刷新/el-button* 也可简写成el-button v-debounce[resetData]刷新/el-button*/// 注册一个全局自定义指令 v-debounceVue.directive(debounce, {// 当被绑定的元素插入到 DOM 中时……inserted: function(el, binding) {//binding.value使用自定义指令v-debounce时填写的参数//解构赋值定义了3个变量将参数数组按顺序进行赋值let [fn, event click, time 300] binding.valuelet timerel.addEventListener(event, () {//默认监听的事件为click//判断计时器是否存在存在则清除计时器。重新创建计时器到时间后执行函数fnif (timer) {clearTimeout(timer)}timer setTimeout(() fn(), time)})}})/** 节流规定时间内可点击一次第一次点击有效。* param {?Number|300} time - 间隔时间毫秒* param {Function} fn - 执行函数* param {?String|click} event - 事件类型 例click* param {Array} binding.value - [fn,event,time]* 例el-button v-throttle[resetData,click,300]刷新/el-button* 传递参数则el-button v-throttle[()resetData(param),click,300]刷新/el-button*/// 注册一个全局自定义指令 v-throttleVue.directive(throttle, {// 当被绑定的元素插入到 DOM 中时……inserted: function(el, binding) {//binding.value使用自定义指令v-throttle时填写的参数//解构赋值定义了3个变量将参数数组按顺序进行赋值let [fn, event click, time 300] binding.valuelet timer null;el.addEventListener(event, () {//默认监听的事件为click//判断计时器是否存在不存在则执行函数fn创建计时器if (timer null) {fn();timer setTimeout(() timer null, time)}})}})/** 节流方案二通过禁用html标签规定时间内可点击一次第一次点击有效。* 应用在封装的组件中可能无效。* param {?String|click} event - 事件类型 例click* param {?Number|2000} time - 间隔时间毫秒* param {Array} binding.value - [event,time]* 例button v-throttle-disabled[]测试按钮/button*///注册一个全局自定义指令 v-throttle-disabledVue.directive(throttle-disabled, {// 当被绑定的元素插入到 DOM 中时……inserted(el, binding) {let [event click, time 2 * 1000] binding.valueel.addEventListener(event, () {//默认监听click事件//当 dom元素el 非禁用状态时 将其设置为禁用状态同时设置计时器规定时间后默认2秒启用。if (!el.disabled) {el.disabled truesetTimeout(() {el.disabled false}, time)}})}})} }配置main.js文件 在入口文件main.js引入 //引入自定义指令方便全局使用 import myDirective from /static/js/myDirective.js; Vue.use(myDirective);使用 这样就可以全局使用myDirective.js里面的自定义指令了示例 button v-debounce[debounceTest,click,3000]测试按钮-3秒/button button v-debounce[()debounceTest(hi)]测试按钮/button笔记学习自51CTO-JackieDYH、vue 全局、局部引入
http://www.hkea.cn/news/14488290/

相关文章:

  • 网站流量不够怎么办网站开发维护合同书
  • 外贸公司网站制作公司八亿免费建站
  • 南京外贸网站建设报价网站后台维护主要做什么
  • 网站访问量js谷歌网站 百度
  • org域名做商业网站这几年做啥网站致富
  • 手机上怎么做网站电商app制作开发
  • 做门户网站需要注册公司吗网页制作公司有哪些职位
  • 网站租用服务器价格网站建设策划方案ppt
  • 西安做网站朋朋计算机网络技术毕业设计
  • 优秀网站菜单网站内做营销活动使用工具
  • 辽宁住房建设厅网站阳泉做网站
  • 广州建设厅电工网站网站制作教程书籍
  • 长春网页网站制作东莞工厂网站建设
  • 手机怎样用网站做成软件医院网站开发公司
  • 公司网站建设需要哪些设备wordpress相册短代码
  • 广州网站开发外包成都房地产信息网官网
  • 学校网站建设宗旨基础的网站建设
  • 一站式网站开发唯美谷网站建设
  • 四川省微信网站建设怎么在各大网站做推广
  • 偃师网站建设建个人网站赚钱吗
  • 网站模型怎么做创作图片的软件
  • 电子商务网站的特点台州哪家做企业网站比较好
  • 网站后期维护合同网站布局策划的流程
  • 网站管理系统软件深圳公司标牌制作
  • wordpress房屋网站模板营销策划
  • 鲅鱼圈做网站做鲜花的网站有哪些
  • 全屏展示网站图片如何做自适应网站制作公司广州
  • 郑州做网站设计的公司免费网站服务
  • 做音乐网站赚钱吗购物网站排名2017
  • 酷虎云建站wordpress标签小工具栏