详解使用vue-router进行页面切换时滚动条位置与滚动监听事件

作者:web_captian 时间:2024-05-08 09:34:39 

按照正常的产品逻辑,我们在进行页面切换时滚动条应该是在页面顶部的,可是。。。在使用vue-router进行页面切换时,发现滚动条所处的位置被自动记录了下来,且在另一个组件内定义的滚动监听事件仍会运行,着实吃了一大惊。。。

说说我的破解方法:

1、在每个需要用vue-router切换的组件的mounted钩子内将页面的位置自动回滚到页面顶部,解决滚动条位置自动记录问题;

2、在每个组件内定义一条变量scrollWatch默认为true,在绑定滚动监听事件时加个if判断,只有在scrollWatch为true时进行监听函数,然后在组件destroyed的钩子内将变量scrollWatch设为false;这样就解决了滚动监听在别的组件内仍会运行的问题。


<script>
import $ from 'jquery';
export default {
data () {
return {
 scrollWatch: true
}
},
mounted() {
$(window).scrollTop(0);
$(window).on('scroll', () => {
 if (this.scrollWatch) {
  //your code here
 }
 }
});
},
destroyed () {
this.scrollWatch = false;
}
}
</script>

来源:104.116.116.112.58.47.47.119.119.119.46.99.110.98.108.111.103.115.46.99.111.109.47.119.101.98.45.99.97.112.116.97.105.110.47.112.47.54.52.48.50.54.57.51.46.104.116.109.108.

标签:vue,router
0
投稿

猜你喜欢

  • 网易2016研发工程师编程题 奖学金(python)

    2021-11-21 19:37:54
  • Electron点击穿透不规则窗体的透明区域的实现

    2024-04-23 09:32:32
  • Python中的函数参数(位置参数、默认参数、可变参数)

    2021-03-24 21:57:38
  • 一文带你吃透什么是PHP中的序列化

    2023-06-12 19:44:20
  • Cookies 欺骗漏洞的防范方法(vbs+js 实现)

    2011-03-09 11:09:00
  • ASP把长的数字用格式化为货币样式的函数

    2009-09-18 14:49:00
  • 如何把数据库的记录输出到表格去?

    2009-11-06 13:37:00
  • 两个2008北京奥运会倒计时js代码

    2008-06-11 13:26:00
  • python选择排序算法的实现代码

    2021-06-19 07:51:10
  • go使用makefile脚本编译应用的方法小结

    2024-04-25 15:17:57
  • Go语言中TCP/IP网络编程的深入讲解

    2024-01-30 08:05:55
  • Pytorch GPU显存充足却显示out of memory的解决方式

    2022-05-20 18:56:58
  • Python 6种基本变量操作技巧总结

    2023-04-03 21:50:04
  • 使用python-cv2实现视频的分解与合成的示例代码

    2021-06-21 11:51:46
  • PHP预定义变量9大超全局数组用法详解

    2023-06-14 10:23:47
  • python编程之requests在网络请求中添加cookies参数方法详解

    2023-07-03 00:48:23
  • Python 的描述符 descriptor详解

    2021-03-04 21:14:17
  • 详解vue中async-await的使用误区

    2024-05-09 09:21:06
  • MYSQL实现添加购物车时防止重复添加示例代码

    2024-01-15 01:44:15
  • Python函数参数和注解的使用

    2021-09-23 17:34:50
  • asp之家 网络编程 m.aspxhome.com