解决vue单页路由跳转后scrollTop的问题


Posted in Javascript onSeptember 03, 2018

作为vue的初级使用者,在开发过程中遇到的坑太多了。在看页面的时候发现了页面滚动的问题,当一个页面滚动了,点击页面上的路由调到下一个页面时,跳转后的页面也是滚动的,滚动条并不是在页面的顶部。

最开始我使用了一个很笨的方法,每个页面上都加上window.scrollTop(0,0);来解决问题,但是这个太繁琐了。最后和小伙伴们商量了一下,在main.js页面上加了这么一段代码

router.afterEach(function (to) {
 window.scrollTo(0, 0)
})

路由跳转后就不会出现滚动的问题了。

但是这种做法是不友好的,我们可以使用scrollBehavior (to, from, savedPosition) {}来解决问题。

在我们写路由的时候做个处理,如下

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router);
 
Vue.use(Router)
 
export default new Router({
 routes: [
 {
  path: '/',
  name: 'HelloWorld',
  component: resolve => require(['../components/HelloWorld.vue'],resolve)
 }
 ],
 scrollBehavior (to, from, savedPosition) {
 if (savedPosition) {
  return savedPosition
 } else {
  return { x: 0, y: 0 }
 }
 }
})

scrollBehavior 方法接收 to 和 from 路由对象。第三个参数 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。它的使用有很多种,可以试试。

以上这篇解决vue单页路由跳转后scrollTop的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 遍历对象的属性的代码
Dec 29 Javascript
拥抱模块化的JavaScript
Mar 07 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
javascript感应鼠标图片透明度显示的方法
Feb 24 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
SublimeText自带格式化代码功能之reindent
Dec 27 Javascript
使用vue.js开发时一些注意事项
Apr 27 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
Sep 08 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
js实现字符全排列算法的简单方法
May 01 Javascript
小程序实现上传视频功能
Aug 18 Javascript
微信小程序实现分页加载效果
Nov 19 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 #Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 #Javascript
详解vue-cli下ESlint 配置说明
Sep 03 #Javascript
解决vue的 v-for 循环中图片加载路径问题
Sep 03 #Javascript
Vue实现底部侧边工具栏的实例代码
Sep 03 #Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
Sep 03 #Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 #Javascript
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
php Static关键字实用方法
2010/06/04 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
深入理解node.js http模块
2018/01/24 Javascript
js实现内置计时器
2019/12/16 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Python实现某论坛自动签到功能
2019/08/20 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
《争吵》教学反思
2014/02/15 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
学生上课说话检讨书
2014/10/25 职场文书
长城导游词300字
2015/01/30 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis