beforeEach全局守卫「建议收藏」

beforeEach全局守卫「建议收藏」//列举需要判断登录状态的“路由集合”,当跳转至集合中的路由时,如果“未登录状态”,则跳转到登录页面login;//当直接进入登录页面login时,如果“已登录状态”,则跳转到首页home;constrouter=newRouter({ routes:[{ path:’/’, //默认进入路由 redirect:’/home’ //重定向 }, { path:’/login’, name:’login’, }, { path:

大家好,又见面了,我是你们的朋友全栈君。

//列举需要判断登录状态的“路由集合”,当跳转至集合中的路由时,如果“未登录状态”,则跳转到登录页面login;
//当直接进入登录页面login时,如果“已登录状态”,则跳转到首页home;
const router = new Router({ 
   
	routes: [{ 
   
			path: '/',
			//默认进入路由
			redirect: '/home'
			//重定向
		},
		{ 
   
			path: '/login',
			name: 'login',
		},
		{ 
   
			path: '/home',
			name: 'home',
		},
		{ 
   
			path: '/list',
			name: 'list',
		},
		{ 
   
			path: '**',
			//错误路由
			redirect: '/home'
			//重定向
		}
	]
});
//全局路由守卫
router.beforeEach((to, from, next) => { 
   
	console.log('navigation-guards');
	//to: Route: 即将要进入的目标 路由对象
	//from: Route: 当前导航正要离开的路由
	//next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
	const route = ['home', 'list'];
	let isLogin = isLogin;
	//是否登录
	//未登录状态;当路由到route指定页时,跳转至login
	if(route.indexOf(to.name) >= 0) { 
   
		if(!isLogin) { 
   
			this.$router.push({ 
   
				path: '/login '
			});
		}
	}
	//已登录状态; 当路由到login时, 跳转至home
	if(to.name === 'login') { 
   
		if(isLogin) { 
   
			this.$router.push({ 
   
				path: '/home '
			})
		}
	}
	next();
});

export default router;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149444.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一篇文章搞定java中的垃圾回收机制面试题[通俗易懂]

    一篇文章搞定java中的垃圾回收机制面试题[通俗易懂]  一篇文章搞定java中的垃圾回收机制面试题任何语言在运行过程中都会创建对象,也就意味着需要在内存中为这些对象在内存中分配空间,在这些对象失去使用的意义的时候,需要释放掉这些内容,保证内存能够提供给新的对象使用。对于对象内存的释放就是垃圾回收机制,也叫做gc,对于java开发者来说gc是一个双刃剑我们这里找了两张搞笑图片分别来表示c语言的垃圾回收和java的垃圾回收。注意:并…

    2022年5月27日
    43
  • stat函数的用法_Str函数

    stat函数的用法_Str函数stat和lstat是兄弟函数,都是用于获取文件信息如果文件不是链接文件,则二者没有区别,如果是链接文件有如下区别:stat:获取链接文件的信息时,具有穿透能力,直接穿越链接文件,获取所被链接文件的信息。lstat:获取链接文件的信息,无穿透能力函数原型intstat(constchar*pathname,structstat*buf);intlstat(constcha…

    2022年8月21日
    6
  • MSF搭建socks代理[通俗易懂]

    MSF搭建socks代理[通俗易懂]目录搭建代理添加路由​搭建Socks4a代理搭建Socks5代理连接代理搭建代理当我们通过MSF拿到一个机器的权限后,想通过MSF搭建socks代理,然后通内网。MSF中有三个代理模块,分别是socks4a、socks5、socks_unc。我们一般用socks4a和socks5进行代理。socks5可以设置用户名和密码。这里运行代理后,有时候MSF不会监听端口…

    2022年6月16日
    120
  • webpack基础打包命令_逆向webpack打包后的js

    webpack基础打包命令_逆向webpack打包后的js没有配置文件的打包如果我们没有使用配置文件webpack.config.js,那么我们就需要通过命令来打包案例我们首先创建一个webpackTest文件夹,然后在文件夹中再创建2个子文件夹dis

    2022年7月29日
    9
  • 绘制图形的视图方式为_三角函数图象的平移变换

    绘制图形的视图方式为_三角函数图象的平移变换iOS Programming – Views(视图 – 基本绘制,变换,平移,旋转,反转,倾斜)

    2022年4月21日
    58
  • debug灯在哪_shutterbug

    debug灯在哪_shutterbug

    2022年8月20日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号