vue-router判断页面未登录自动跳转到登录页的方法示例


Posted in Javascript onNovember 04, 2018

1.定义路由的时候配置meta属性,requireAuth用来标记跳转的这个路由是否需要检测登录

下面的两个页面,登录页不需要检测,首页需要检测

const routers = [
{
   path: '/',
   component: App,
 children: [

  { 


path: '/login', 

  component: Login,
   meta: {
    title: '登录'

   }

 },

 { 


path: '/home', 

  component: Home,
   meta: {
    title: '首页',
    requireAuth: true
   }

 }

]
}
]
export default routers

2.main.js

返回遍历的某个路由对象,我们定义为record,检测这个对象是否拥有meta这个对象,如果有meta这个对象,检测meta对象是不是有requireAuth这个属性且为true

检测到需要登录权限后,我的做法是请求接口判断用户是否登录

如果未登录,跳转到登录页面;如果已经登录,确保要调用next()方法,否则钩子就不会被resolved

router.beforeEach((to, from, next) => {
 /* 页面title */
 if (to.meta.title) {
  document.title = to.meta.title
 }
 /* 判断该路由是否需要登录权限 */
 if (to.matched.some(record => record.meta.requireAuth)) {
  //是否登录
  axios.post('/home/user/isLogin')
    .then(function (response) {
      if (response.data.code == 0) {
        //未登录
        if (response.data.data.online == 0) {
          next({
            path: '/login',
          })
        } else {
          //已登录
          next()
        }
      }
    })
    .catch(function (error) {
      // Toast(error.data.msg);
    });

 }
 next();
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript读取xml
Nov 04 Javascript
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
简单谈谈ES6的六个小特性
Nov 18 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
详解Angular 开发环境搭建
Jun 22 Javascript
微信小程序与php 实现微信支付的简单实例
Jun 23 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
在vue中使用css modules替代scroped的方法
Mar 10 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
浅谈React碰到v-if
Nov 04 #Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 #Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 #Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 #Javascript
微信小程序实现笑脸评分功能
Nov 03 #Javascript
小程序实现五星点评效果
Nov 03 #Javascript
微信小程序实现星星评价效果
Nov 02 #Javascript
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
pandas如何处理缺失值
2019/07/31 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
SNIDEL官网:日本VIVI杂志人气少女第一品牌
2020/03/12 全球购物
销售主管岗位职责
2014/02/08 职场文书
我的画教学反思
2014/04/28 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL