当前位置: 首页 > news >正文

Vue3实战笔记(21)—自定义404页面

文章目录

  • 前言
  • 一、标题1
  • 二、通过守卫导航配置404
  • 总结


前言

一个精致的404页面对于网站的用户体验至关重要。404页面,也称为“未找到”页面,是在用户尝试访问网站中不存在或已删除的页面时显示的。


一、标题1

404都很熟悉了,vue3默认找不到界面会一片空白:
在这里插入图片描述
先创建一个404.vue:


<template><div><div style="font-size:100px; color:black; position:fixed;box-shadow: 0px 0px 0px #ccc; left:50%;top:33%; " >404</div></div>
</template><script setup lang="ts" name=""></script><style lang='less' scoped>
</style>

vue3自定义404界面路由,首先配置路由添加:

import {createRouter,createWebHistory} from 'vue-router'{// 会匹配所有路径path: "/:pathMatch(.*)*",component: notFound}

完整路由源码,其他配置项可以不看:

//路由器
import {createRouter,createWebHistory} from 'vue-router'
import Home from '@/views/Home.vue'
import About from '@/views/About.vue'
import Login from '@/views/Login.vue'
import CheckboxVue from '@/views/Checkbox.vue'
import vList from '@/components/vlist.vue'
import notFound from '@/views/errors/404.vue'//创建路由器
const router = createRouter({history:createWebHistory(),routes:[{path:'/',component:Home},{path:'/about',component:About},{path:'/login',component:Login},{path:'/checkbox',component:CheckboxVue},{path:'/vlist',component:vList},{// 会匹配所有路径path: "/:pathMatch(.*)*",component: notFound}]
})   

随便输入个123456路径,路由匹配不上就跳转到了404页面:
在这里插入图片描述

二、通过守卫导航配置404

还有另一种方式,守卫导航(这种配置方式可能考虑的情况要全面一些不然可能会出现奇怪的问题,以后再测试一下。):
代码如下(示例):


router.beforeEach((to, from, next) => {if (to.matched.length === 0) { //匹配前往的路由不存在from.name ? next({name: from.name}) : next('/errorinfo'); //判断此跳转路由的来源路由是否存在,存在的情况跳转到来源路由,否则跳转到404页面} else {next(); //如果匹配到正确跳转}
})

总结

一个精心设计的404页面不仅能够以优雅的方式通知用户页面不存在,还能够提供帮助、导航回主页或其他相关页面的选项,从而减少用户流失,提高用户体验。

“成功不是偶然,而是由一系列努力和坚持组成。” ——科林·鲍威尔

http://www.lryc.cn/news/349546.html

相关文章:

  • 乡村振兴的农村产业融合发展:推动农村一二三产业融合发展,培育农村新产业新业态,打造产业兴旺的美丽乡村
  • 运维别卷系列 - 云原生监控平台 之 08.prometheus grafana 实践
  • 【原创】java+springboot+mysql企业邮件管理系统设计与实现
  • 【Pytorch】torch.nn.conv2d
  • WPF之DataGird应用
  • linux内核debug(二)在线调试内核kdb/kgdb工具使用及环境搭建
  • 解决“电脑开机黑屏Explorer进程卡死“问题
  • 阿里云学习笔记2
  • 【回溯】1240. 铺瓷砖
  • 【Unity Shader入门精要 第7章】基础纹理(一)
  • el-checkbox选中后的值为id,组件显示为label中文
  • 03-数据结构(一)
  • MySQL问题记录-主机被锁问题
  • 用好 explain 妈妈再也不用担心我的 SQL 慢了
  • 【漏洞复现】泛微OA E-Cology SignatureDownLoad SQL注入漏洞
  • 前端工程化,前端监控,工作流,部署,性能
  • 浅析Java贪心算法
  • vue3.0(五) reactive全家桶
  • Selenium 自动化 —— 四种等待(wait)机制
  • 每日两题 / 437. 路径总和 III 105. 从前序与中序遍历序列构造二叉树(LeetCode热题100)
  • matlab使用2-基础绘图
  • 嵌入式开发四大平台介绍
  • 《Python编程从入门到实践》day28
  • STC8增强型单片机开发【定时器Timer⭐】
  • C语言实训项目源码-02餐厅饭卡管理系统-C语言实训C语言大作业小项目
  • Linux第四节--常见的指令介绍集合(持续更新中)
  • Apache Sqoop:高效数据传输工具搭建与使用教程
  • 【C++初阶】第十一站:list的介绍及使用
  • 【devops】Linux 日常磁盘清理 ubuntu 清理大文件 docker 镜像清理
  • 2024年资阳市企业技术中心申报条件、流程要求及支持政策须知