导航守卫

一开始我以为导航守卫是要在写在main.js中,然后看了网上很多代码,发现这块是可以单独写成一个xxx.js文件,然后在main.js中引入进来,这样就是一个全局引入。当然在xxx.js中,需要将路由文件引入进来,不然你怎么操作路由呐。【思考脸】

然后对于next()的理解不是很透彻。

查看官网,你会发现其实人家解释的很清楚。next() 会进行管道中的下一个钩子,这句话其实不是太过于明白,但是通过实例,可以暂时自理解为当你的导航变化时,满足你自己编写的条件时,就会进入它的下一个钩子函数中。

但当时的写的代码是这样的

if (to.path == '/' || to.path == '/upload-version') {next()} else {if (to.path == '/remote-shell') {next()} else {next()}}

当时我的想法以为是,只要路由发生了变化,我在这边就需要进行判断来监听一下。后来想想这样是有问题的呀,假如我配置的路由有很多path,难道我还要一个一个去比较啊,所以上面的方法肯定是行不通的。所以我后期只判断了一个地址。

router.beforeEach((to, from, next) => {
//首先判断是否有值
if (getPort() && getAddress()) {//有 直接给stroe赋值var ipp = { port: getPort(), address: getAddress() }console.log(ipp);//如果getters中没有值就赋值console.log(store.getters.gethip);if (store.getters.geti == '') {console.log("有没有有没有没有")store.dispatch('choicePort', ipp).then(() => {console.log(store.getters);}).catch(() => { })store.dispatch("registerMessageListener").then().catch()next()}else{next();}
} else {//没有 跳转到选择页面中去,配置地址if ((to.path) == '/xxxx') {next()} else {next('/xxx');}
}

直接通过next()就可以完成跳转了不用每次路由变化就去判断


这是以前提的一个问题

vue-router 中导航守卫问题相关推荐

  1. vue axios跨域请求_axios的请求拦截和vue路由的导航守卫有什么区别

    在Vue项目中,有两种用户登录状态判断并处理的情况,分别为:导航守卫和axios拦截器. 1. 导航守卫:拦截组件 导航守卫就是我们进行某些页面的时候需要判断当前用户是否登录过,如果登陆过,则可以跳转 ...

  2. Vue——vue3路由导航守卫及其写法

    导航守卫:一个页面跳转到另一个页面,中间会触发某个函数 导航守卫3个状态 <script> export default {methods: {},beforeRouteEnter () ...

  3. vue 设置路由导航守卫 控制路由跳转

    在实际项目中,通常有这样的需求,在用户没有登录的时候通常时不允许访问除了登录页面之外的页面,这个时候就需要使用路由导航守卫来控制跳转了,通常设置如下 在router文件夹下的index.js中添加如下 ...

  4. vue 通过路由导航守卫控制访问权限

    1.作用:防止用户跳过登录页面直接从url进入后台管理界面,控制访问权限. 2.实现代码 2.1在router/index.js中添加如下代码, const router = new VueRoute ...

  5. Vue Router 路由导航

    Vue Router 通过 Vue.js,我们已经用组件组成了我们的应用.当加入 Vue Router 时,我们需要做的就是将我们的组件映射到路由上,让 Vue Router 知道在哪里渲染它们. V ...

  6. vue router中hash模式和history模式的区别

    面试问答     hash 模式与 history 模式的区别,这个也是面试常问的问题,不要小看这道题其实问到这里的时候那个面试官应该是个大牛,开发经验丰富,这个题其实就是考验你的开发经验是否属实. ...

  7. 解决导航守卫router.beforeResolve使用不了this.$store

    在vue router的导航守卫如beforeEach()中是无法直接通过this.$store去操作vuex的,因为这里的this指向不一致. 正确写法 import store from '../ ...

  8. Vue2.x - Vue Router

    目录 Vue与SPA 什么是SPA 简单了解SPA 什么是MPA SPA相较于MPA的优点 实现SPA的几个关键点 理解SPA单页面架构 什么是前端路由 锚链接与URL中的hash值 通过hashch ...

  9. Vue - 路由导航守卫控制访问权限,设置 localStorage 过期时间

    Vue 路由导航守卫控制访问权限,设置 localStorage 过期时间 一. 路由导航守卫 二. 路由导航守卫 简单使用 三. 使用路由导航守卫设置 token 过期时间 导航守卫: https: ...

最新文章

  1. 前序中序后序遍历的顺序
  2. Python 的列表的一些方法
  3. 基本的SQL-SELECT语句
  4. sed 学习笔记(未完成)
  5. 手把手教你研发属于自己的智能无人机
  6. mysqldump全量恢复_删库不跑路-详解MySQL数据恢复
  7. android nio debug模式正常 release包crash_Flutter包大小治理上的探索与实践
  8. 看穿容器的外表,Linux容器实现原理演示
  9. 51nod1363 最小公倍数之和
  10. CS224n自然语言处理(二)——语言模型、机器翻译和CNN
  11. swoole实现Timer定时器、心跳检测及Task进阶实例:mysql连接池
  12. 算法学习之路|取石子
  13. STM8S 红外解码+低功耗处理
  14. 【评测】各种细胞治疗处理技术设备
  15. 【java】this()与super()使用详解
  16. EasyGUI-1:模块基础
  17. SCARA——OpenGL入门学习五六(三维变换、动画)
  18. 如何在几百万qps的网关服务中实现灵活调度策略
  19. 2021年安全员-B证最新解析及安全员-B证考试平台
  20. 1.SD卡初始化、写入、读取、数据比较

热门文章

  1. Vue用Cordova打包后的app自升级功能实现
  2. vue-devtools介绍与安装
  3. mysql的show profile使用总结
  4. 一个跨国银行的敏捷转型案例要点之全员培训
  5. 什么?IP协议是什么你竟然不了解,那还不快快点进来!
  6. cmd静默运行_【已解决】BAT批处理中如何静默执行,在完成后调用MSGBOX?
  7. html5列表去掉符号,从Python字符串中删除不在允许列表中的HTML标记
  8. 万豪旅享家官方商城携手神策数据,数字化礼遇更高质量的用户体验
  9. 错误:无法访问android.app.Activity 找不到android.app.Activity的类文件
  10. Tips - C++