vue中window.addEventListener监听scroll事件

2023-11-08

今天想在vue的项目里面用下拉加载,然后就直接写了:

mounted () {
	window.addEventListener( 'scroll', this.scrollHander)
},
methods: {
	scrollHander () {  }
}

但是我发现我切换路由以后依旧其他页面也触发了scrollHandler函数,然后我想到使用了vue-router做的spa项目,window对象不变的,所以需要在每次使用后销毁。

解决办法

我回去看了下vue文档的生命周期,看到了destroyed,然后直接在这个周期内销毁就可以了。

mounted () {
	window.addEventListener('scroll', this.scrollHander)
},
destroyed () {
	window.removeEventListener('scroll', this.scrollHander)
}

使用throttle出现的新问题

下拉加载一般需要配合throttle限流函数(原理可以看这里)来避免频繁触发,所以优化代码成这样:

mounted () {
	let  _this = this
	window.addEventListener('scroll', throttle(() => {
		_this.scrollHander()
	},200 ))
},

然后发现没法用removeEventListener了,因为这个函数第二个参数不接受匿名函数。

最后代码

用一个变量中转下

mounted () {
	let  _this = this
	this.throttleLoad = throttle(() =>{
		_this.scrollHander()
	},200)
	window.addEventListener('scroll', this.throttleLoad)
},
destroyed () {
	window.removeEventListener('scroll',this.throttleLoad) 
},
methods: { 
	scrollHander () { }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue中window.addEventListener监听scroll事件 的相关文章

  • 时间序列分析(11)

    上篇介绍的传递函数模型的假设是 会影响到 而不会影响到 因此称为外生变量 exogenous variable 如果和以及更多的变量之间能够相互影响 此时它们就是内生变量 endogenous variable 向量自回归模型 vector
  • 用Flutter自定义一个Button

    目录 简介 Widget StatelessWidget 案例 自定义Button StatefulWidget 案例 更新UI 效果图 总结 简介 Flutter是谷歌开发的跨平台UI工具包 通过一套代码库 我们能够构建出能运行在Andr
  • 围棋:三间低夹

    三间低夹 搜索结果 哔哩哔哩 Bilibili

随机推荐

  • (jsp和Servlet功能篇) session判断用户是否登入

    涉及文件 login do jsp和sessionCheck jsp和所有的jsp页面 1 在login do jsp登录成功的前面 加上 session setAttribute user model model里面放的是用户名和密码 u
  • 表达数量性状位点(eQTL)的概念及其相关分析原理

    表达数量性状位点 eQTL 的概念及其相关分析原理 表达数量性状位点 expression quantitative trait locus eQTL 是一类能够影响基因表达量的遗传位点 大部分都是单核苷酸多态性 SNP 具有一定的生物学意
  • PostgreSQL安装及简单使用

    一 PostgreSQL简介 1 什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库 支持丰富的数据类型 如JSON何JSONB类型 数组类型 和自定义类型 而且它提供了丰富的接口 可以很容易地扩展它的功能
  • 【接口自动化测试】HTTP协议详解

    协议 简单理解 计算机与计算机之间的通讯语言就叫做协议 不同的计算机之间只有使用相同的协议才能通信 所以网络协议就是为计算机网络中进行数据交换而建立的规则 标准或约定的集合 OSI模型 1978年国际化标准组织提出了 开放系统互联网参考模型
  • 字节一面:如何实现单行/多行文本溢出的省略样式?

    前言 最近博主在字节面试中遇到这样一个面试题 这个问题也是前端面试的高频问题 作为一名前端开发工程师 css是我们的必备技能 文本溢出问题也是我们经常遇到的问题 我们不仅只是处理这种情况 还要考虑他的兼容性 博主在这给大家细细道来 作者简介
  • 设计模式与软件体系结构【期末全整理答案】

    题海茫茫 答案难觅 请点赞 关注我呦 期末试题基本出自这些题 请提前复制黏贴到word文档里 方便考试时直接查找 最好考前先浏览一遍 考试考到但不知道标准答案的题 如果有会的 麻烦在评论区写出答案 谢谢 1 代理模式的扩展是 2 简述状态模
  • Sublime Text 常用插件

    文章目录 ConvertToUTF8 BracketHighlighter Emmet JsFormat Compact Expand CSS Command Color Highlighter SublimeTmpl Alignment
  • jdk1.8安装教程及环境变量配置(含jdk8,11,13安装文件)

    目录 友情提醒 第一章 JVM JRE JDK介绍 第二章 下载和安装JDK 2 1 百度网盘直接下载免安装 2 2 官网下载安装JDK 需要收费 第三章 环境变量配置 3 1 windows环境变量配置 3 2 验证环境变量是否配置成功
  • 【基础】华为单臂路由技术配置实战

    1 实验拓扑 使用ENSP模拟器 版本V100R002C00 1 2 00 350 2 实验需求 1 PC1和PC3属于VLAN 10 2 PC2和PC4属于VLAN 20 3 全网互通 3 实验步骤 1 IP规划 PC1 192 168
  • 数据结构顺序表和单链表

    1 描述 设计整数顺序表的基本运算程序 并用相关数据进行测试 输入 顺序输入顺序表A的元素个数及各个元素 输出 第一行 创建顺序表A后 输出所有元素 第二行 删除第一个元素 输出删除后的所有元素 第三行 输出删除元素后顺序表的长度 第四行
  • 如何比较两个结构体是否相等

    今天定义了一个结构体来记录十一个球员的角色信息 后来在赋值 输出 比较时报错来 比如定义下面这样一个结构体 有什么效率高的办法比较他们是否相等呢 struct Student int age double height struct s1
  • 如何利用升压转换器产生双电源(产生正负电源)

    有时对于一些单电源供电应用我们需要将单电源转换成双电源以给像运算放大器这类芯片供电 我们常用的产生负电源的方法是使用DC DC转换模块或者反相DC DC转换器和电荷泵芯片 后两者是非隔离式 这里对以上三种产生负电源的方式做一些比较 DC D
  • Fully Attentional Network for Semantic Segmentation

    背景 非局部注意力使用一个简单的相似度矩阵 因此会造成attention miss 为了解决这个问题 提出了fully attentional network 同时进行位置和通道编码 本文主要解决在通道非局部中的位置问题 attention
  • scrollview嵌套listview产生的滑动冲突(recyclerview)

    Android滑动冲突主要有两种方法 1 外部拦截法 public class ListScrollView extends ScrollView private ListView listView public ListScrollVie
  • adb命令——基础系统类命令 ——adb shell input命令01

    adb做为android的调试桥 在做app自动化中有着巨大的用处 可以帮助我们解决问题 今天主要认识adb shell input adb shell input 我们首先通过cmd输入adb shell input有哪些内容 adb s
  • The specified key does not exist.

    问题截图如下 解决办法 我这边的问题就是 拼接的地址跟实际上访问的地址不一样 首先就是建议你先去在oss对象储存那边查看一个文件的访问地址 对比你拼接的不同之处 这里可能有人会出现自己拼接的地址 在程序中写下载刚才上传的文件能够拿到 这是因
  • TVS相关参数与选型

    一 介绍 TVS Transient Voltage Suppressor 二极管 又称为瞬态抑制二极管 是普遍使用的一种新型高效电路保护器件 它具有极快的响应时间 亚纳秒级 和相当高的浪涌吸收能力 当它的两端经受瞬间的高能量冲击时 TVS
  • 过山车

    http acm hdu edu cn showproblem php pid 2063 Problem Description RPG girls今天和大家一起去游乐场玩 终于可以坐上梦寐以求的过山车了 可是 过山车的每一排只有两个座位
  • Blender插件:Boxcutter v7.1.7_4_Claymore 超强硬表面建模布尔

    Blender插件 Boxcutter v7 1 7 4 Claymore 超强硬表面建模布尔 Boxcutter是一个Blender 3d插件 用于利用屏幕绘图和热键进行概念设计 它已被世界各地的制片厂和公司使用 并已用于电影 AAA游戏
  • vue中window.addEventListener监听scroll事件

    今天想在vue的项目里面用下拉加载 然后就直接写了 mounted window addEventListener scroll this scrollHander methods scrollHander 但是我发现我切换路由以后依旧其他