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 相关文章推荐
Prototype RegExp对象 学习
Jul 19 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 Javascript
JavaScript中的property和attribute介绍
Dec 26 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
JS 实现导航栏悬停效果(续2)
Sep 24 Javascript
PHP守护进程实例
Mar 06 Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
轻松掌握JavaScript状态模式
Sep 07 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
Mar 06 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
VUE脚手架具体使用方法
May 20 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
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
python学习基础之循环import及import过程
2018/04/22 Python
详解python深浅拷贝区别
2019/06/24 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
领导干部廉政自律承诺书
2014/05/26 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
心得体会的写法
2014/09/05 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
爱晚亭导游词
2015/02/09 职场文书
辞职信如何写
2015/02/27 职场文书
预备党员考察意见范文
2015/06/01 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技