1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue 页面A转到页面B B页面停留在A页面的滚动位置

vue 页面A转到页面B B页面停留在A页面的滚动位置

时间:2021-09-30 21:36:35

相关推荐

vue 页面A转到页面B B页面停留在A页面的滚动位置

如果页面A沿Y轴滚动一段距离,然后跳转到页面B;在进入B页面时,B页面已经滚动到页面A的距离,返回页面A,发现A还在之前的滚动位置;
在路由守卫回调中,设置每次进入路由时,将window的scroll值设置为0;window.scroll(0,0);

// 全局路由守卫router.beforeEach((to, from, next) => {// to: Route: 即将要进入的目标 路由对象// from: Route: 当前导航正要离开的路由// next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。// A跳转到B,B页面停留在A页面的滚动位置;解决方法:将scrollTop设置为0window.scroll(0, 0);// nextRoute: 设置需要路由守卫的路由集合const nextRoute = ['home', 'good-list', 'good-detail', 'cart', 'profile'];let isLogin = global.isLogin; // 是否登录// 未登录状态;当路由到nextRoute指定页时,跳转至loginif (nextRoute.indexOf(to.name) >= 0) {if (!isLogin) {console.log('what fuck');router.push({name: 'login' })}}// 已登录状态;当路由到login时,跳转至home if (to.name === 'login') {if (isLogin) {router.push({name: 'home' });}}next();});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。