Vue實(shí)現(xiàn)當(dāng)訪問的路由不存在時跳轉(zhuǎn)到404頁面的方法詳解
前言
在 Vue3 中,可以使用 Vue Router 實(shí)現(xiàn)跳轉(zhuǎn)到 404 頁面,即當(dāng)用戶訪問一個不存在路由時,系統(tǒng)會默認(rèn)跳轉(zhuǎn)到 404 頁面。以下是一個簡單的實(shí)現(xiàn)方法:
圖例
404頁面文件
在項(xiàng)目的根目錄下創(chuàng)建一個名為 404.vue 的文件,用于編寫 404 頁面。在 404.vue 文件中,你可以添加自定義的組件和內(nèi)容。例如:
<template> <div> <h1>404 頁面不存在</h1> <p>您訪問的頁面不存在,請返回 <router-link to="/">首頁</router-link></p> </div> </template> <script> export default { name: 'NotFound', } </script>
路由配置
1、首先,確保你已經(jīng)安裝了 Vue Router。如果沒有,請使用以下命令進(jìn)行安裝:
npm install vue-router@next --save
2、在項(xiàng)目的 src 目錄下創(chuàng)建一個名為 router 的文件夾,用于存放路由配置。在 router 文件夾中創(chuàng)建一個名為 index.js 的文件,用于配置路由。
3、在 index.js 文件中,首先導(dǎo)入 createRouter、createWebHistory 和 RouteRecordRaw 方法,然后定義一個名為 routes 的數(shù)組,用于存放所有路由信息。例如:
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'; const routes: Array<RouteRecordRaw> = [ { path: '/', name: 'index', component: () => import('@/views/home.vue'), }, { path: '/:catchAll(.*)', name: 'not-found', component:() => import('@/views/Components/404.vue') }, ]; const router = createRouter({ history: createWebHashHistory(), routes: routes, }); export default router;
4、在項(xiàng)目的入口文件 main.js 中,引入并使用路由配置。例如:
import { createApp } from 'vue' import App from './App.vue' import router from './router' createApp(App).use(router).mount('#app')
實(shí)現(xiàn)原理
關(guān)鍵實(shí)現(xiàn)是 '/:catchAll(.*)'。在 Vue Router 中,:catchAll 是一個特殊字符,它用于匹配所有的路徑。當(dāng)你在路由配置中使用 :catchAll 時,它表示匹配所有無法被其他路由規(guī)則匹配的路徑。因此,當(dāng)訪問的路由不存在時,就會總動跳轉(zhuǎn)到路由path為'/:catchAll(.*)'的頁面。
以上就是Vue實(shí)現(xiàn)當(dāng)訪問的路由不存在時跳轉(zhuǎn)到404頁面的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue路由不存在跳轉(zhuǎn)404的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue自定義權(quán)限指令的實(shí)現(xiàn)
本文主要介紹了vue自定義權(quán)限指令的實(shí)現(xiàn)2024-05-05vue實(shí)現(xiàn)el-select的change事件過程
這篇文章主要介紹了vue實(shí)現(xiàn)el-select的change事件過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04解決Vue Loading PostCSS Plugin failed:Cann
這篇文章主要介紹了解決Vue Loading PostCSS Plugin failed:Cannot find module autoprefixer問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03vue2從數(shù)據(jù)變化到視圖變化發(fā)布訂閱模式詳解
這篇文章主要為大家介紹了vue2從數(shù)據(jù)變化到視圖變化發(fā)布訂閱模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Vue實(shí)現(xiàn)面包屑導(dǎo)航的正確方式
面包屑導(dǎo)航(BreadcrumbNavigation)這個概念來自童話故事“漢賽爾和格萊特”,它的作用是告訴訪問者他們在網(wǎng)站中的位置以及如何返回,本文為大家介紹了實(shí)現(xiàn)面包屑導(dǎo)航的正確方式,需要的可以參考一下2023-06-06Vuex子模塊調(diào)用子模塊的actions或mutations實(shí)現(xiàn)方式
這篇文章主要介紹了Vuex子模塊調(diào)用子模塊的actions或mutations實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10關(guān)于net?6+vue?插件axios?后端接收參數(shù)問題
接到這樣一個項(xiàng)目需求是這樣的,前端vue?必須對象傳遞后端也必須對象接收,接下來通過本文給大家介紹下net?6+vue?插件axios?后端接收參數(shù)的問題,需要的朋友可以參考下2022-01-01vue動態(tài)綁定組件子父組件多表單驗(yàn)證功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue動態(tài)綁定組件子父組件多表單驗(yàn)證功能的實(shí)現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05