最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue.js全局路由下的导航守卫的实现

来源:动视网 责编:小采 时间:2020-11-27 19:31:57
文档

vue.js全局路由下的导航守卫的实现

vue.js全局路由下的导航守卫的实现:本篇文章给大家带来的内容是关于vue.js全局路由下的导航守卫的实现 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。什么是导航守卫?笼统的说,导航守卫是控制用户能够进入哪些路由和不能进入哪些路由的控制器,也就是管理路由的打比方,
推荐度:
导读vue.js全局路由下的导航守卫的实现:本篇文章给大家带来的内容是关于vue.js全局路由下的导航守卫的实现 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。什么是导航守卫?笼统的说,导航守卫是控制用户能够进入哪些路由和不能进入哪些路由的控制器,也就是管理路由的打比方,
 本篇文章给大家带来的内容是关于vue.js全局路由下的导航守卫的实现 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

什么是导航守卫?

笼统的说,导航守卫是控制用户能够进入哪些路由和不能进入哪些路由的控制器,也就是管理路由的

打比方,在你第一次进入网站,想写博客时,你必须先登录,才能进入博客编写;登陆界面就好比你能进入的路由,而博客是你不能进入的路由,当你登陆后,控制器才会给你权限,才能进入博客路由,这就是导航守卫的用途

全局路由 要在 main.js 文件下创建

想用导航守卫先要有路由

//main.js
const router= new VueRouter({
 routes:[
 {path:'/',name:'home',component:Home},
 {path:'/menu',name:'menu',component:Menu},
 {path:'/admin',name:'admin',component:Admin},
 {path:'/about',name:'about',component:About,redirect: {name:'contactLink'},children:[ //二级路由
 {path:'/about/contact',name:'contactLink',component:Contact},
 {path:'/history',name:'historyLink',component:History},
 {path:'/delivery',name:'deliveryLink',component:Delivery},
 {path:'/orderingGuide',name:'orderingGuideLink',component:OrderingGuide,redirect:{name:'phonelink'},children: [ //三级路由
 {path:'/phone',name:'phonelink',component:Phone},
 {path:'/name',name:'namelink',component:Name}
 ]},
 ]},
 {path:'/login',name:'login',component:Login},
 {path:'/register',name:'register',component:Register},
 {path:'*',redirect:'/'}
 ],
 mode:"history"
});

利用上面路由对象 router 的方法 beforeEach() 实现导航守卫

//main.js
//to:跳转到的路由 from:从哪个路由离开 next:显示函数
router.beforeEach((to,from,next)=>{ 
 if(to.path == '/login' || to.path == '/register'){
 next();
 }else{
 alert("请先登录");
 next('/login');
 }
});

‘/login’ '/register' 为自己定义的路由地址

to.path 为跳转到的路由地址

next() 为显示当前路由内容

next('/login') 跳转到指定路由并显示指定路由的内容

to 对象可获取的信息(console.log(to) 查看)

文档

vue.js全局路由下的导航守卫的实现

vue.js全局路由下的导航守卫的实现:本篇文章给大家带来的内容是关于vue.js全局路由下的导航守卫的实现 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。什么是导航守卫?笼统的说,导航守卫是控制用户能够进入哪些路由和不能进入哪些路由的控制器,也就是管理路由的打比方,
推荐度:
标签: VUE 实现 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top