vue.js vue-router如何实现无效路由(404)的友好提示


Posted in Javascript onDecember 20, 2017

前言

大家都知道对于单页应用,官方提供了vue-router进行路由跳转的处理,而最近在做一个基于vue-router的SPA,想对无效路由(404)页面做下统一处理。

这次我真的没有在官方文档找到具体的说明[捂脸]

所以本文仅是我DIY的一个思路,求轻虐=_=

在我的理解中,vue-router是根据path去匹配注册的route,匹配到则加载对应的组件,匹配不到则重置(或者说清空)对应的router-view。

所以,我们不做处理的话,最终页面展示的是一片空白。

那么,我们是不是可以在路由匹配上做文章呢?

路由监测

在组件中,可以从this.$route获取当前路由,那么就可以使用watch监测路由的变化,监测所有路由变化自然而然的落在根路由组件(如:App.vue)上面了。

无效路由检测

$route.matched包含了当前路由的匹配结果,如果为空则说明当前路由无效。

界面提示

可使用条件渲染,路由有效则渲染router-view,路由无效则渲染提示信息。

Demo

App.vue

<template>
 <p v-if="invalidRoute">404</p>
 <router-view v-else></router-view>
</template>
<script type="text/babel">
 export default {
 name: 'App',
 computed: {
  invalidRoute () {
  return !this.$route.matched || this.$route.matched.length === 0;
  }
 }
 };
</script>

至于404要多友好就看自己了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery datepicker 使用方法
May 20 Javascript
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
js获取url中&quot;?&quot;后面的字串方法
May 15 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
Three.js快速入门教程
Sep 09 Javascript
JSON 对象未定义错误的解决方法
Sep 29 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
JavaScript的Set数据结构详解
Feb 18 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 #Javascript
canvas轨迹回放功能实现
Dec 20 #Javascript
jQuery实现动态控制页面元素的方法分析
Dec 20 #jQuery
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 #Javascript
浅谈gulp创建完整的项目流程
Dec 20 #Javascript
vue使用axios实现文件上传进度的实时更新详解
Dec 20 #Javascript
JavaScript通过mouseover()实现图片变大效果的示例
Dec 20 #Javascript
You might like
在PHP中使用XML
2006/10/09 PHP
在WIN98下以apache模块方式安装php
2006/10/09 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
php自定义错误处理用法实例
2015/03/20 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
简单介绍Python中的JSON模块
2015/04/08 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python格式化日期时间操作示例
2018/06/28 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
公司前台辞职报告
2014/01/19 职场文书
手工社团活动方案
2014/02/17 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
护士求职信范文
2014/05/24 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
团日活动总结报告
2014/06/25 职场文书
元宵节寄语大全
2015/02/27 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python