解决Vue 使用vue-router切换页面时 页面显示没有在顶部的问题

有时候我们需要页面滚动条滚动到某一固定的位置,一般使用Window scrollTo() 方法。

语法就是:scrollTo(xpos,ypos)

xpos:必需。要在窗口文档显示区左上角显示的文档的 x 坐标。

ypos:必需。要在窗口文档显示区左上角显示的文档的 y 坐标。

例如滚动内容的坐标位置100,500:

window.scrollTo(100,500);

解决办法:

在 Vue项目的main.js文件中加入以下代码即可解决:

router.afterEach((to,from,next) => {
  window.scrollTo(0,0);
})

以上就是针对页面显示没有在顶部的问题的解决办法,希望对大家有所帮助。

参考: https://blog.csdn.net/wandoumm/article/details/80199191

原文地址:https://www.cnblogs.com/hspl/p/9574681.html

时间: 2024-08-28 11:26:18

解决Vue 使用vue-router切换页面时 页面显示没有在顶部的问题的相关文章

【解决方法】EasyUI DataGrid无数据时不显示滚动条问题

在dataGrid的定义中添加如下代码: JavaScript Code 1 2 3 4 5 6 7 8 9 10 11 onLoadSuccess : function (data) { if (data.total == 0) { $('#dg').datagrid('insertRow', { row : {} }); $("tr[datagrid-row-index='0']").css({ "visibility" : "hidden"

vue中使用router全局守卫实现页面拦截及安全问题的一点感想

一.背景 在vue项目中使用vue-router做页面跳转时,路由的方式有两种,一种是静态路由,另一种是动态路由.而要实现对路由的控制需要使用vuex和router全局守卫进行判断拦截(安全问题文章最后讨论) 二.使用场景 静态路由的使用场景:在我们使用静态路由实现页面跳转时,不管我们是否登录,当我们在地址栏修改地址后,页面会发生跳转并展示页面内容(数据并不会被展示出来),这样的问题显然是不能够被接受的: 动态路由的使用场景:动态路由无非就是从后端拿到了数据然后在加到router里面了.假如用户

FragmentTabHost切换Fragment时避免重复加载UI,导致切换后重绘页面的问题解决

项目中用到了FragmentTabHost,痛苦的是切换Fragment时页面总是重新加载无法保证是切换前的状态,现在得以解决! 问题:使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态. 解决办法:在Fragment onCreateView方法中缓存View @Override public View onCreateView(LayoutInflater infla

Vue切换页面时中断axios请求

在Vue单页面开发过程中,遇到这样的情况,当我切换页面时,由于上一页面请求执行时间长,切换到该页面时,还未执行完,这时那个请求仍会继续执行直到请求结束,此时将会影响页面性能,并且可能对现在页面的数据显示造成一定影响 所以我们应该,切换页面前中断前面所有请求 Vue.prototype.$http= axios;//Vue函数添加一个原型属性$axios 指向axios,这样vue实例或组件中不用再去重复引用Axios 直接用this.$axios就能执行axios 方法了 const Cance

VUE.JS 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property 'xxxx' of undefined 的解决办法

正常情况下在data里面都有做了定义 在函数里面进行赋值 这时候你运行时会发现,数据可以请求到,但是会报错 TypeError: Cannot set property 'listgroup' of undefined 主要原因是: 在 then的内部不能使用Vue的实例化的this, 因为在内部 this 没有被绑定.可以看下 Stackoverflow 的解释: 解决办法: 1.用ES6箭头函数,箭头方法可以和父方法共享变量 2.在请求axios外面定义一下 var that=this 问题

Bootstrap3-技巧之解决Bootstrap模态框切换时页面抖动 or页面滚动条

Bootstrap为了让所有的页面(这里指内容溢出和不溢出)显示效果一样,采取的方法如下: 当Modal显示时,设置body -- overflow:hidden;margin-right:15px;(设置15px是因为浏览器的滚动条占位是15px);(通过在modal显示时给body添加.modal-open类实现) 设置modal -- overflow:auto;overflow-y:scroll; 这样设置的效果是: (1)当页面内容超出(即页面本身存在滚动条),则moda弹出后,原bo

解决Bootstrap模态框切换时页面抖动 or页面滚动条

Bootstrap为了让所有的页面(这里指内容溢出和不溢出)显示效果一样,采取的方法如下: 当Modal显示时,设置body -- overflow:hidden;margin-right:15px;(设置15px是因为浏览器的滚动条占位是15px);(通过在modal显示时给body添加.modal-open类实现) 设置modal -- overflow:auto;overflow-y:scroll; 这样设置的效果是: (1)当页面内容超出(即页面本身存在滚动条),则moda弹出后,原bo

vue做的项目每次打开新页面不会显示页面顶部的解决办法

在main.js 中添加代码: 1 router.afterEach((to,from, next) => { 2 3 window.scrollTo(0,0) 4 5 }) 然后就会发现每次打开页面都是显示的是页面顶部内容,再也不会显示页面底部或者其他位置影响用户体验. 原文地址:https://www.cnblogs.com/zr123/p/11929133.html

vue tab嵌入iframe切换不刷新,相对完整的方案

说到Vue的简单.便捷.高效,谁用谁喜欢,自然企业应用也来玩一把,三大经典组件:树控件,网格控件,选项卡控件: 本章先说选项卡tab控件的嵌入iframe. 本次主要解决以下问题: 1.tab控件混合vue-component-view与iframe-view; 2.切换tab, iframe-view 保持原界面不刷新,与keep-alive效果等同; 3.关闭tab中的iframe-view后,将重新打开,不作cache; 问题1: 将 <router-view></router-v