Vue實(shí)現(xiàn)當(dāng)訪問(wèn)的路由不存在時(shí)跳轉(zhuǎn)到404頁(yè)面的方法詳解
前言
在 Vue3 中,可以使用 Vue Router 實(shí)現(xiàn)跳轉(zhuǎn)到 404 頁(yè)面,即當(dāng)用戶訪問(wèn)一個(gè)不存在路由時(shí),系統(tǒng)會(huì)默認(rèn)跳轉(zhuǎn)到 404 頁(yè)面。以下是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)方法:
圖例
404頁(yè)面文件
在項(xiàng)目的根目錄下創(chuàng)建一個(gè)名為 404.vue 的文件,用于編寫(xiě) 404 頁(yè)面。在 404.vue 文件中,你可以添加自定義的組件和內(nèi)容。例如:
<template> <div> <h1>404 頁(yè)面不存在</h1> <p>您訪問(wèn)的頁(yè)面不存在,請(qǐng)返回 <router-link to="/">首頁(yè)</router-link></p> </div> </template> <script> export default { name: 'NotFound', } </script>
路由配置
1、首先,確保你已經(jīng)安裝了 Vue Router。如果沒(méi)有,請(qǐng)使用以下命令進(jìn)行安裝:
npm install vue-router@next --save
2、在項(xiàng)目的 src 目錄下創(chuàng)建一個(gè)名為 router 的文件夾,用于存放路由配置。在 router 文件夾中創(chuàng)建一個(gè)名為 index.js 的文件,用于配置路由。
3、在 index.js 文件中,首先導(dǎo)入 createRouter、createWebHistory 和 RouteRecordRaw 方法,然后定義一個(gè)名為 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 是一個(gè)特殊字符,它用于匹配所有的路徑。當(dāng)你在路由配置中使用 :catchAll 時(shí),它表示匹配所有無(wú)法被其他路由規(guī)則匹配的路徑。因此,當(dāng)訪問(wèn)的路由不存在時(shí),就會(huì)總動(dòng)跳轉(zhuǎn)到路由path為'/:catchAll(.*)'的頁(yè)面。
以上就是Vue實(shí)現(xiàn)當(dāng)訪問(wèn)的路由不存在時(shí)跳轉(zhuǎn)到404頁(yè)面的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue路由不存在跳轉(zhuǎn)404的資料請(qǐng)關(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事件過(guò)程
這篇文章主要介紹了vue實(shí)現(xiàn)el-select的change事件過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04解決Vue Loading PostCSS Plugin failed:Cann
這篇文章主要介紹了解決Vue Loading PostCSS Plugin failed:Cannot find module autoprefixer問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03使用Vue后如何針對(duì)搜索引擎做SEO優(yōu)化
本文介紹了Vue.js在SEO優(yōu)化方面的挑戰(zhàn),并提供了一些方法來(lái)解決這些問(wèn)題,包括使用服務(wù)器端渲染、預(yù)渲染和使用VueRouter的History模式來(lái)生成靜態(tài)HTML頁(yè)面,以及添加meta信息和內(nèi)部鏈接來(lái)提高搜索引擎的索引和排名2025-02-02vue2從數(shù)據(jù)變化到視圖變化發(fā)布訂閱模式詳解
這篇文章主要為大家介紹了vue2從數(shù)據(jù)變化到視圖變化發(fā)布訂閱模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Vue實(shí)現(xiàn)面包屑導(dǎo)航的正確方式
面包屑導(dǎo)航(BreadcrumbNavigation)這個(gè)概念來(lái)自童話故事“漢賽爾和格萊特”,它的作用是告訴訪問(wèn)者他們?cè)诰W(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)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10關(guān)于net?6+vue?插件axios?后端接收參數(shù)問(wèn)題
接到這樣一個(gè)項(xiàng)目需求是這樣的,前端vue?必須對(duì)象傳遞后端也必須對(duì)象接收,接下來(lái)通過(guò)本文給大家介紹下net?6+vue?插件axios?后端接收參數(shù)的問(wèn)題,需要的朋友可以參考下2022-01-01vue動(dòng)態(tài)綁定組件子父組件多表單驗(yàn)證功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue動(dòng)態(tài)綁定組件子父組件多表單驗(yàn)證功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05