vue3输入无效路由跳转到指定error页面问题
作者:小杨爱编程
这篇文章主要介绍了vue3输入无效路由跳转到指定error页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
开始准备一个Error.vue展示错误界面
<template> <div class="border"> <el-result icon="error" title="404,出错了!" sub-title="当前地址无法解析,请返回!!!!!" > <template #extra> <el-button type="primary" @click="goBack">返回</el-button> </template> </el-result> </div> </template>
<script lang="ts" setup> import {useRouter} from 'vue-router' const router = useRouter() const goBack = ()=>{ router.push("/index") } </script>
<style scoped> .border{ width: 70%; height: 500px; background-color: white; border-radius: 10px; margin: 50px auto; } </style>
配置好Error,vue界面的路由
const routes = [ //反馈界面 { path: '/error', component: Error ,meta: {title: "出错了!当前界面不存在"}}, //首页 { path: '/index', component: Index,meta: {title: "首页"}}, ] const router = VueRouter.createRouter({ // 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。 history: VueRouter.createWebHashHistory(), routes, // `routes: routes` 的缩写 }) export default router
配置router.beforeEach
router.beforeEach((to, from, next) => {//beforeEach是router的钩子函数,在进入路由前执行 if (to.matched.length === 0 ){ next("/error") } })
效果展示:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。