Vue3中404页面捕获(图文详情)

Vue3中404页面捕获(图文详情)

在 Vue 项目中,捕获并处理 404 页面(即"未找到页面"或"页面不存在") 是非常重要的,尤其是在构建单页面应用程序(SPA, Single Page Application)时。由于 SPA 的路由是通过 JavaScript 动态管理的,因此如果用户访问了一个不存在的 URL,我们需要确保能够正确地显示 404 页面,而不是让浏览器返回默认的 404 错误。

前置条件,首先需在一个可用的vue3项目中正确安装了Vue router,如还没有请参考文章
Vue3中使用Router进行路由配置

404页面捕获

打开ElementPlus官网:https://element-plus.org/zh-CN/component/result

找到结果页引入样式作为404页面展示效果

在pages下添加error文件夹,同时新建404.vue页面

vue 复制代码
<template>
	<el-result icon="warning" title="404提示" sub-title="哎呀,不好意思你找的页面走丢了~">
		<template #extra>
			<el-button type="primary" @click="$router.push('/')">回到首页</el-button>
		</template>
	</el-result>
</template>

<script setup>
	import {} from "vue";
</script>

<style lang="scss" scoped></style>

查看vue router官网:https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html

找到404页面捕获设置

在router的index.js下添加路由捕获和404.vue页面加载

js 复制代码
import NotFound from "@/pages/404.vue";
const routes = [
	{ path: "/:pathMatch(.*)*", name: "NotFound", component: NotFound }
];

打开浏览器任意输入一个不存在的也面路由,即可跳转到404走丢页面,点击回到首页按钮可回到首页

相关推荐
ruanno_top7 小时前
轮播每 3 秒自己翻页:键盘停不下来,读屏也不知道换了页
vue.js
1-1=08 小时前
Vue 3 模板语
前端·javascript·vue.js
Java小卷9 小时前
面向 Schema 编程,Vue 3 页面级渲染引擎!轻松玩转各场景 Validation!
vue.js·低代码
FungLeo12 小时前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
FungLeo14 小时前
成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
前端·javascript·vue.js·rbac·vue router·路由守卫·前端权限
FungLeo14 小时前
成为全栈·Vue 管理后台篇·分页只显示第一页:从接口total 定位到前端修复
前端·vue.js·状态模式·分页·naive ui·服务端分页·前端问题排查
FungLeo15 小时前
成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
前端·javascript·vue.js·rbac·仪表盘·管理后台·tanstack query
ruanno_top15 小时前
可搜索的下拉框,键盘按不动:焦点进了下拉,事件还挂在触发器上
vue.js
FungLeo16 小时前
成为全栈·Vue 管理后台篇·Vue Query:服务端数据缓存、query key与变更失效
vue.js·数据获取·前端缓存·前端状态管理·tanstack query·vue query
北城笑笑16 小时前
Vue 109 ,从零搭建 Vue3 + Electron 工程:生态、安全桥接与打包选型( Vue + Electron )
前端·javascript·vue.js·安全·electron·vue