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 相关文章推荐
网页的标准,IMG不支持onload标签怎么办
Jun 29 Javascript
多广告投放代码 推荐
Nov 13 Javascript
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
document.getElementById为空或不是对象的解决方法
Jan 24 Javascript
页面使用密码保护代码
Apr 10 Javascript
$.each遍历对象、数组的属性值并进行处理
Jul 18 Javascript
JS实现简单的图书馆享元模式实例
Jun 30 Javascript
jQuery Mobile动态刷新页面样式的实现方法
May 28 Javascript
Javascript使用uploadify来实现多文件上传
Nov 16 Javascript
javascript 组合按键事件监听实现代码
Feb 21 Javascript
Node使用Nodemailer发送邮件的方法实现
Feb 24 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 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
Content-type 的说明
2006/10/09 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
QQ登录简单实现代码
2021/03/09 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
js创建数组的简单方法
2016/07/27 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
python实现ip代理池功能示例
2019/07/05 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
船舶专业个人求职信范文
2014/01/02 职场文书
有趣的广告词
2014/03/18 职场文书
交通安全寄语大全
2014/04/08 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python