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 相关文章推荐
js 数组克隆方法 小结
Mar 20 Javascript
jquery实现文字由下到上循环滚动的实例代码
Aug 09 Javascript
浅析Cookie中的Path与domain
Dec 18 Javascript
jquery基础教程之数组使用详解
Mar 10 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
Javascript字符串拼接小技巧(推荐)
Jun 02 Javascript
详解Vue生命周期的示例
Mar 10 Javascript
H5实现中奖记录逐行滚动切换效果
Mar 13 Javascript
基于原生js运动方式关键点的总结(推荐)
Oct 01 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
Oct 27 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
详解JavaScript原型与原型链
Nov 16 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
php读取mysql的简单实例
2014/01/15 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python程序控制语句用法实例分析
2020/01/14 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
网游商务专员求职信
2013/10/15 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
《童年》教学反思
2014/02/18 职场文书
教学改革实施方案
2014/03/31 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
大学班级学风建设方案
2014/05/01 职场文书
推荐信格式要求
2014/05/09 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
师范生小学见习总结
2015/06/23 职场文书