一、导航守卫描述

当问我们点击主页、菜单等非登陆和注册按钮都会提示先登陆然后跳转到登陆界面。

1、在main.js中引入全局守卫

  1. //全局守卫
  2. //to是要进入那个路由,from是从那个路由出来,next是个函数,是否展示路由界面
  3. router.beforeEach((to,from,next) =>{
  4. // alert("还没有登录,请先登录");
  5. // next();
  6. //判断store.gettes.isLogin === false 这是vuex中的内容
  7.  
  8. //判断跳转的路由是否是登陆和注册,如果是就显示路由界面,不是就跳转到登陆界面
  9. if(to.path == '/login' || to.path == '/register'){
  10. next();
  11. }else{
  12. alert("还没有登录,请先登录");
  13. next("/login");
  14. }
  15. })

2、路由独享守卫

在index.js中的需要加守卫配置中,加入

  1. {path: '/admin', name: 'adminLink', component: Admin,beforeEnter:(to,from,next) => {
  2. //路由独享守卫
  3. alert("得登陆状态,不能访问此页面");
  4. next(false);//false不能进入管理界面,空可以进入管理界面
  5. }},

3、组件内守卫

在需要的设置的组件中,例如餐单组件中。

  1. <script>
  2. export default {
  3. //组件内守卫,next回调,拿不到data属性,跟执行顺序有关
  4. data(){
  5. return{
  6. name:"Henry"
  7. }
  8. },
  9. // beforeRouteEnter:(to,from,next)=>{
  10. // // alert("Hello "+this.name);//结果是:Hello undefined 因为在执行beforeRouteEnter方法时并没有把data数据渲染出来
  11. // //next()方法中提供了回调
  12. // next(vm =>{
  13. // alert("Hello "+vm.name);
  14. // })
  15. // }
  16. beforeRouteLeave(to,from,next){
  17. //离开时弹出“确定离开吗”,确定就离开
  1.     if(confirm("确定离开吗")==true){
  2. next()
  3. }else{
  4. next(false)
  5. }
  6. }
  7. }
  8. </script>

  

 

 

vue项目1-pizza点餐系统5-全局守卫的更多相关文章

  1. 一 创建一个springboot项目之(微信点餐系统的设计与开发)

    第一步:收到项目需求,进行数据库表的设计. 1.角色的划分: 卖家:  订单,类目 买家:  商品列表 2.功能模块的划分: 商品:商品列表 订单:  订单创建,订单查询,订单取消 类目:基于管理的功 ...

  2. vue项目1-pizza点餐系统1-利用bootstrap4制作导航栏

    初次接触Bootstrap,简单谈一下理解.bootstrap是一个简单有强悍的前端框架,它是一个开源项目.当我们需要一些样式等,可以了解bootstrap的相关class.标签名称等所代表的意思,然 ...

  3. 基于SpringBoot前后端分离的点餐系统

    基于SpringBoot前后端分离的点餐系统 开发环境:主要采用Spring boot框架和小程序开发 项目简介:点餐系统,分成卖家端和买家端.买家端使用微信小程序开发,实现扫码点餐.浏览菜单.下单. ...

  4. vue项目、路由

    目录 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 js原型补充 vue项目生命周期 页面组件 配置自定义全局样式 路由逻辑跳转 路由重定向 组件的生命周期钩子 路由传参 ...

  5. 快速创建 Vue 项目

    转载:https://www.jianshu.com/p/c7df292915e7 为了便于 Vue 项目的管理, Vue 团队官方开发了 vue-cli 工具. 本文将带您使用 vue-cli 快速 ...

  6. [课程设计]Scrum 2.0 多鱼点餐系统开发进度(第二阶段项目构思与任务规划)

    [课程设计]Scrum 2.0 多鱼点餐系统开发进度 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...

  7. [课程设计]Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划)

    Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到 ...

  8. Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划)

    Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到 ...

  9. DoNet开源项目-基于Amaze UI的点餐系统

    帮朋友做的点餐系统,主要是为了让顾客在餐桌上,使用微信扫描二维码,就可以直接点菜,吃完使用微信付款. 系统演示地址,账户名和密码均为:admin.(请不要删除admin用户) GitHub Clone ...

随机推荐

  1. Android 内存泄漏优化总结

    1,验证是否为汉字 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...

  2. [SPOJ20174]DIVCNT3 - Counting Divisors (cube):Min_25筛

    分析 首先,STO ywy OTZ,ywy TQL%%%! 说一下这道题用min_25筛怎么做. 容易发现,对于所有质数\(p\),都满足\(f(p)=4\),于是我们就可以直接通过\([1,x]\) ...

  3. 【转】毛虫算法——尺取法

    转自http://www.myexception.cn/program/1839999.html 妹子满分~~~~ 毛毛虫算法--尺取法 有这么一类问题,需要在给的一组数据中找到不大于某一个上限的&q ...

  4. Java并发编程的艺术笔记(三)——Thread.join()

    t.join()方法只会使主线程进入等待池并等待t线程执行完毕后才会被唤醒.并不影响同一时刻处在运行状态的其他线程.它能够使得t.join()中的t优先执行,当t执行完后才会执行其他线程.能够使得线程 ...

  5. 【后台管理系统】—— Ant Design Pro页面相关(二)

    一.弹框Modal表单 使用Form.create()包装得到一个含有this.props.form属性的CreatForm自组件 从页面主(父)组件获得props数据和propsMethod方法 r ...

  6. final finalize finally throw throws try catch

    什么是finalize()方法 finalize()方法什么时候被调用 参见网址 析构函数(finalization)的目的是什么 final 和 finalize 的区别 final以下参见网址 f ...

  7. [NN] Guided Backpropgation 可视化

    Pytorch Guided Backpropgation Intro guided backpropgation通过修改RELU的梯度反传,使得小于0的部分不反传,只传播大于0的部分,这样到第一个c ...

  8. 五、SpringBoot—HelloWorld案例

    弱弱的补充一下啊,,,上一讲如果个别同学创建完项目之后发现项目pom.xml文件或者项目其他地方报错,你可以安装下图操作: HelloWorld案例: 编写好之后启动项目(贼姬霸简单) 启动成功: 浏 ...

  9. Octavia health-manager 与 amphora 故障修复的实现与分析

    目录 文章目录 目录 Health Manager 监控 amphora 健康状态 故障转移 故障迁移测试 Health Manager Health Manager - This subcompon ...

  10. 开发一个Flink应用

    步骤列表本次实战经历以下步骤: 创建应用:编码:构建:提交任务到Flink,验证功能: 环境信息Flink:1.7:Flink所在机器的操作系统:CentOS Linux release 7.5.18 ...