1、路由全局守卫

  在做项目的时候,遇到需要做路由跳转,但当用户输入错误url地址,或是其它非法url路由地址,我们或许会想到跳转至404页面。不管你有没有写一个404页面,当出现未匹配路由都需重新指定页面跳转。可能大家首先想到会是路由重定向,redirect来解决这个问题。但实际上通过redirect是没办法更好解决这个问题的。看代码红色部分

router.beforeEach((to, from, next) => {if (to.matched.length ===0) {  //如果未匹配到路由from.name ? next({ name:from.name }) : next('/');   //如果上级也未匹配到路由则跳转登录页面,如果上级能匹配到则转上级路由} else {next();    //如果匹配到正确跳转
  }
});

2、重定向

  有时,我们可能会输入错的 url, 或者不再存在等各种原因导致其不再能被访问,那么我们就可以对于这种情况进行重定向。 很简单,只要在路由中添加下面的代码就可以了:

//创建路由对象并配置路由规则
let router = new VueRouter({routes:[{path:'/',redirect:{name:"home"}},  // 重定向到主页{name:'home',path:'/home',component:Home},{path:'/music',component:Music},{path:'/movie',component:Movie},{name:'img',path:'/picture22',component:Picture},{name:'musicDetail',path:'/musicDetail/:id/:name',component:MusicDetail},{path:'*',component:NotFound},//全不匹配的情况下,返回404,路由按顺序从上到下,依次匹配。最后一个*能匹配全部,]
});

  或者下面这样,注意放到最后

{path: "*",redirect: "/"
}

  即对于所有的(*代表所有)错误页面,我们都可以重定向到 "/" 中。

2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面相关推荐

  1. v html如何添加样式,详解三种方式解决vue中v-html元素中标签样式

    Vue为v-html中标签添加CSS样式 {{news.title}} {{news.datetime}} 返回列表 当我们使用v-html渲染页面,使用下面这种方式去修改样式并没有效果, .con{ ...

  2. vue v-html字体大小修改,详解三种方式解决vue中v-html元素中标签样式

    Vue为v-html中标签添加CSS样式 {{news.title}} {{news.datetime}} 返回列表 当我们使用v-html渲染页面,使用下面这种方式去修改样式并没有效果, .con{ ...

  3. vue路由跳转权限_vue权限路由实现方式总结

    使用全局路由守卫 实现 前端定义好路由,并且在路由上标记相应的权限信息 const routerMap = [ { path: '/permission', component: Layout, re ...

  4. 8种方法解决vue创建项目报错:command failed: npm install --loglevel error

    8种方法解决vue项目创建失败问题 1.重建项目 2.清除缓存 3.重装淘宝源 4.修改useTaobaoRegistry 5.重装node 6.删除npmrc文件 7. node版本问题 8.css ...

  5. php 迭代器迭代中文时重复,3种方式解决iterator迭代器并发修改异常

    3种方式解决iterator迭代器并发修改异常ConcurrentModificationException 在使用迭代器的时候,时长会遇到 ConcurrentModificationExcepti ...

  6. Qt工作笔记-三种方式解决Qt5中文编码问题

    目录 前言 方式一 方式二 方式三 三种方式解决Qt5中文编码问题 前言 这里不谈原理,只说如何去做! 这里本人自己总结下,今天遇到了新的编码问题,在此记录下,方面以后快速调用. 把这三种方法顺序试下 ...

  7. 解决vue项目在ie、360兼容模式下空白页面问题

    完美解决vue项目在ie.360兼容模式下空白页面,并提示语法错误的原因 艰难路程 解决办法 艰难路程 事实上,很多人在做项目的过程中很多存在同一个问题,于是去百度了,但是用同样的解决方法不一定就能解 ...

  8. vue 函数 路由跳转_vue中通过路由跳转的三种方式

    router-view 实现路由内容的地方,引入组件时写到需要引入的地方 需要注意的是,使用vue-router控制路由则必须router-view作为容器. 通过路由跳转的三种方式 1.router ...

  9. vue路由传参两种方式;vue路由传参query与params区别;vue路由跳转的带参与不带参,路由跳转传参方式:name 、 path;

    vue项目的路由传参常用的有两种方式:query和params 1.query传参特点:1.1可以用path也可以用name传递路径 注意name是路由页面vue文件的名称 不需要/1.2跳转页面地址 ...

最新文章

  1. WordPress-基础设置之固定链接设置
  2. java的System.gc()的理解
  3. 软件工程——图书预定系统的各层数据流图
  4. 2MyBatis入门--深入浅出MyBatis技术原理与实践(笔记)
  5. 年轻人不要上来就说我要创业
  6. 使用sklearn PCA主成分分析对图像特征进行降维
  7. UPNP解读2-含netbios,wins,DNS
  8. 小米android版本升级包下载,小米11 Android 12 Beta 1更新包
  9. Matlab 嵌套传递函数简化_MATLAB的数据处理方法及图形绘制详解
  10. Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
  11. java xml解析 jdom_Java XML解析工具 JDOM介绍及使用实例
  12. robotframework(rf)中对时间操作的datetime库常用关键字
  13. 人生苦短,你一定要成为你自已想成为的那个人
  14. 对Max Pooling的理解
  15. 【干货】Android实现支付宝当面付
  16. cPanel WHM 安装教程
  17. RFID读卡器增量更新思路与代码实现
  18. 74160ENT引脚设计法+同步置数法接成365进制加法计数电路
  19. 如何安全升级 TiDB
  20. 关于VS2017中VB.NET打开重新打开工程后程序设计界面无法显示的问题

热门文章

  1. 仿QQ聊天室【方案】
  2. IT人不要一直做技术(转载)
  3. 【UDP通过多线程改进,在一个窗口中同时接收又发送】
  4. WPF中的动画——(三)时间线(TimeLine)
  5. httperf ---linux web站点压力测试
  6. React 错误Each child in an array or iterator should have a unique “key” prop
  7. 绝不要在构造函数和析构过程中调用virtual函数
  8. sharepoint_study_7
  9. 【转】并查集MST题集
  10. 【转】C# Socket编程笔记