当前位置: 首页 > news >正文

Vue.js——全局守卫

全局守卫

const routes=[
	{path:'/',name:"homeLink",component:Home},
	{path:'/menu',component:Menu},	
	{path:'*',redirect:'/'}
]
const router=new VueRouter({
	routes,
	mode:"history"
})
router.beforeEach((to,from,next)=>{
	//判断 store.gettes.isLogin===false
	if(to.path=='/login' || to.path=='/register'){
		next();
	}else{
		alert("还没有登录,请先登录");
		next('/login')
	}
	
})

组件守卫

const routes=[
	{path:'/',name:"homeLink",component:Home},
	{path:'/admin',component:Admin,
		 beforeEach:(to,form,next)=>{
		 	if(store.gettes.isLogin===false){
		 		alert("还没有登录,不能访问此页面!");
		 		next('/login')
		 	}else{
		 		next();
			}
		 }
    },
	{path:'*',redirect:'/'}
]

进入路由后

	export default{

		data(){
			return {
				name:"Henry"
			}
		},

		beforeRouteEnter: (to,from,next) =>{
			
			next(vm=>{
				alert("Hello " + vm.name)
			})

		},

		beforeRouteLeave: (to,from,next) =>{

			if(confirm("确定离开吗?")==true){
				next()
			}else{
				next(false)
			}

		}
	}
    //vm可以异步 这样可以调用组件数据

 

相关文章:

  • Vue.js——路由2 复用路由
  • json-server
  • js关于函数预编译的研究
  • js预编译
  • js----函数之立即执行函数
  • 闭包问题
  • js --- 面向对象之原型与原型链
  • 对象枚举以及判断数组与对象的3种方法
  • git的小白入门
  • windows如何配置mysql的环境变量
  • js的变量类型判断和类型的转换
  • vscode 常用设置和插件
  • 可迭代对象和类数组
  • js数组遍历方法总结与对比
  • PAT乙级 我要通过(1003)的详细解答过程
  • SegmentFault for Android 3.0 发布
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • bootstrap创建登录注册页面
  • canvas绘制圆角头像
  • ES6 ...操作符
  • extract-text-webpack-plugin用法
  • Java IO学习笔记一
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • node学习系列之简单文件上传
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 聊聊flink的TableFactory
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 聊一聊前端的监控
  • 面试总结JavaScript篇
  • 盘点那些不知名却常用的 Git 操作
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我建了一个叫Hello World的项目
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (二)学习JVM —— 垃圾回收机制
  • (二)丶RabbitMQ的六大核心
  • (南京观海微电子)——COF介绍
  • (一)为什么要选择C++
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?