Vue-Router 4.0:新一代前端路由管理

在這里插入圖片描述

🤍 前端開發工程師、技術日更博主、已過CET6
🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1
🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》
🍚 藍橋云課簽約作者、上架課程《Vue.js 和 Egg.js 開發企業級健康管理項目》、《帶你從入門到實戰全面掌握 uni-app》

隨著前端技術的不斷發展,單頁面應用(SPA)變得越來越流行。為了更好地管理頁面間的導航和狀態,Vue.js 生態系統中的 Vue-Router 也不斷進化。本文將介紹 Vue-Router 4.0 的新特性、使用方法以及與前代版本的對比。

一、Vue-Router 4.0 新特性

1. Composition API 支持

Vue-Router 4.0 完全支持 Vue 3 的 Composition API,這使得路由配置和邏輯更加模塊化和可維護。

2. 更簡潔的 API 設計

新版本的 Vue-Router 簡化了 API 設計,移除了一些過時的方法和選項,使得路由配置更加直觀。

3. 基于 Proxy 的路由匹配

Vue-Router 4.0 使用 Proxy 實現了更高效的路由匹配,提升了性能。

4. 新的導航守衛

引入了新的導航守衛,如 beforeEachbeforeResolveafterEach,提供了更細粒度的路由控制。

5. 支持 TypeScript

Vue-Router 4.0 完全支持 TypeScript,提供了更好的類型推斷和開發體驗。

二、快速上手

1. 安裝

首先,你需要安裝 Vue-Router 4.0:

npm install vue-router@4

2. 創建路由實例

創建一個 router.js 文件,配置你的路由:

import { createRouter, createWebHistory } from 'vue-router';
import Home from './views/Home.vue';
import About from './views/About.vue';const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
];const router = createRouter({
history: createWebHistory(),
routes,
});export default router;

3. 在 Vue 應用中使用路由

在你的主 Vue 文件中引入并使用路由:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';const app = createApp(App);
app.use(router);
app.mount('#app');

三、導航守衛

1. 全局守衛

router.js 中配置全局守衛:

router.beforeEach((to, from, next) => {
// 導航邏輯...
next();
});

2. 組件內守衛

在組件內部使用路由守衛:

import { onBeforeRouteEnter, onBeforeRouteUpdate, onBeforeRouteLeave } from 'vue-router';export default {
// ...
setup() {
onBeforeRouteEnter((to, from, next) => {
// ...
next();
});
onBeforeRouteUpdate((to, from) => {
// ...
});
onBeforeRouteLeave((to, from, next) => {
// ...
next();
});
}
};

四、總結

Vue-Router 4.0 是為 Vue 3 設計的新一代路由管理器,它帶來了更簡潔的 API、更好的性能和更強大的功能。無論是對于新手還是資深開發者,Vue-Router 4.0 都將提供更好的開發體驗和更高的開發效率。

隨著前端技術的不斷進步,Vue-Router 也將繼續發展,以滿足日益增長的前端開發需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94246.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94246.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94246.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vuhub Corrosion2靶場攻略

靶場下載: 下載地址:https://download.vulnhub.com/corrosion/Corrosion2.ova 靶場使用: 我這里是使用Oracle VirtualBox虛擬機打開靶場,使用VMware打開攻擊機kali,要使這兩個機器能互相通信,需要將這兩…

定制開發開源AI智能名片S2B2C商城小程序的特點、應用與發展研究

摘要:本文聚焦定制開發開源AI智能名片S2B2C商城小程序,深入剖析其技術特點、功能優勢。通過分析在實體店與線上營銷、新零售閉環生態構建、智慧場景賦能以及微商品牌規范化運營等方面的應用,探討其發展趨勢。旨在為營銷技術專家中的營銷創客及…

ulimit參數使用詳細總結

目錄 1. 基本介紹 1.1 核心功能 1.2 作用范圍 1.3 限制類型 2. 基本語法 3. 常用選項? 3.1 常見options 3.2 查看當前限制 4. 核心概念 4.1 軟限制(Soft Limit) 4.2 硬限制(Hard Limit) 5. 修改限制 5.1 臨時修改 …

基于ASIC架構的AI芯片:人工智能時代的算力引擎

基于ASIC架構的AI芯片:人工智能時代的算力引擎在深度學習模型參數量呈指數級增長、訓練與推理需求爆炸式發展的今天,通用處理器(CPU、GPU)在能效比和計算密度上的局限日益凸顯。基于ASIC(Application-Specific Integra…

Linux信號機制:從硬件中斷到用戶態處理

當你在終端按下 CtrlC 時,一個簡單的組合鍵觸發了操作系統最精妙的異步通信機制。這種跨越硬件與軟件的協作,正是Linux信號系統的精髓所在。本文將帶你深入探索信號處理的全過程,從CPU中斷到用戶態函數調用,揭示Linux最強大的進程…

C語言基礎:動態申請練習題

1. 動態申請一個具有10個float類型元素的內存空間&#xff0c;從一個已有的數組中拷貝數據&#xff0c;并找出第一次出現 12.35 的下標位置&#xff0c;并輸出。#include <stdio.h> #include <stdlib.h> #include <string.h>int main() {// 動態申請10個flo…

MATLAB 實現 SRCNN 圖像超分辨率重建

MATLAB 實現 SRCNN 圖像超分辨率重建 MATLAB代碼實現&#xff0c;用于基于三層卷積神經網絡的圖像超分辨率重建。代碼參考了多個來源&#xff0c;結合了SRCNN的典型實現步驟。 1. MATLAB代碼實現 % 超分辨率卷積神經網絡(SRCNN)的測試代碼 % 參考文獻&#xff1a;Chao Dong, Ch…

知識蒸餾 - 基于KL散度的知識蒸餾 HelloWorld 示例

知識蒸餾 - 基于KL散度的知識蒸餾 HelloWorld 示例 flyfish 知識蒸餾 - 蒸的什么 知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出 知識蒸餾 - 對數函數的單調性 知識蒸餾 - 信息量的公式為什么是對數 知識蒸餾 - 根據真實事件的真實概率分布對其進行編碼 知識蒸餾 - …

從結構到交互:HTML5進階開發全解析——語義化標簽、Canvas繪圖與表單設計實戰

一、語義化標簽進階&#xff1a;重構頁面結構的「邏輯語言」 在 HTML5 的舞臺上&#xff0c;語義化標簽是熠熠生輝的主角&#xff0c;它們為網頁賦予了清晰的邏輯結構&#xff0c;使其更易被搜索引擎理解和被開發者維護。其中&#xff0c;<section>與<article>標簽…

標準七層網絡協議和TCP/IP四層協議的區別

分別是什么? OSI七層協議是國際標準組織制定的標準協議。其中七層分別是物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層。 TCP/IP協議是美國軍方在后期網絡技術的發展中提出來的符合目前現狀的協議。其中四層分別是網絡接口層對應七層中的物理層和數據鏈路層,…

前端面試手撕題目全解析

以下是前端面試中常遭遇的“手撕”基礎題目匯總&#xff0c;涵蓋 HTML→JS→Vue→React&#xff0c;每題附經典實現&#xff0f;原理解析&#xff0c;可現場答題或后端總結。 HTML 基礎題 &#x1f4dd; 語義化卡片&#xff08;Semantic Card ARIA&#xff09; <article cl…

道格拉斯-普克算法 - 把一堆復雜的線條變得簡單,同時盡量保持原來的樣子

道格拉斯-普克算法 - 把一堆復雜的線條變得簡單&#xff0c;同時盡量保持原來的樣子 flyfish 道格拉斯-普克算法&#xff08;Douglas-Peucker Algorithm解決的問題其實很日常&#xff1a;把一堆復雜的線條&#xff08;比如地圖上的道路、河流&#xff0c;或者GPS記錄的軌跡&…

團購商城 app 系統架構分析

一、引言 團購商城 APP 作為一種融合了電子商務與團購模式的應用程序&#xff0c;近年來在市場上取得了顯著的發展。它為用戶提供了便捷的購物體驗&#xff0c;同時也為商家創造了更多的銷售機會。一個完善且高效的系統架構是保障團購商城 APP 穩定運行、提供優質服務的基礎。本…

【AI平臺】n8n入門7:本地n8n更新

?0、前言 目標&#xff1a;本地n8n部署后&#xff0c;有新版本&#xff0c;然后進行更新。官方文檔&#xff1a;Docker | n8n Docs特別說明&#xff1a; n8n鏡像更新后&#xff0c;容器重建&#xff0c;所以之前在n8n配置的東西&#xff0c;就莫有了&#xff0c;工作流提前導…

還在使用Milvus向量庫?2025-AI智能體選型架構防坑指南

前言說明&#xff1a;數據來源&#xff1a;主要基于 Milvus&#xff08;v2.3&#xff09;和 Qdrant&#xff08;v1.8&#xff09;的最新穩定版&#xff0c;參考官方文檔、GitHub Issues、CNCF報告、以及第三方評測&#xff08;如DB-Engines、TechEmpower&#xff09;。評估原則…

3-verilog的使用-1

verilog的使用-1 1.判斷上升沿 reg s_d0; reg s_d1; wire signal_up ; //判斷信號的上升沿 assign signal_up (~touch_key_d1) & touch_key_d0; always (posedge clk or negedge rst_n) beginif(rst_n 1b0) begins_d0< 1b0;s_d1< 1b0;endelse begins_d0&…

ESXI虛擬交換機 + H3C S5120交換機 + GR5200路由器組網筆記

文章目錄一、組網拓撲與核心邏輯1. 拓撲結構2. 核心邏輯二、詳細規劃方案1. VLAN 與 IP 地址規劃2. 設備連接規劃三、配置步驟1. H3C S5120 交換機配置&#xff08;VLAN 與端口&#xff09;2. H3C GR5200 路由器配置&#xff08;路由、網關、NAT&#xff09;3. ESXi 虛擬交換機…

python的駕校培訓預約管理系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持&#xff1a; 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具&#xff1a;Navicat/SQLyog等都可以 該系統通…

webrtc弱網-QualityScaler 源碼分析與算法原理

一. 核心功能QualityScaler 是 WebRTC 中用于動態調整視頻編碼質量的模塊&#xff0c;主要功能包括&#xff1a;QP 監控&#xff1a;持續監測編碼器輸出的量化參數&#xff08;QP&#xff09;丟幀率分析&#xff1a;跟蹤媒體優化和編碼器導致的丟幀情況自適應決策&#xff1a;根…

Maven 快照(SNAPSHOT)

Maven 快照(SNAPSHOT) 引言 Maven 快照(SNAPSHOT)是 Maven 中的一個重要概念,主要用于版本管理。它允許開發者在構建過程中使用尚未發布的版本。本文將詳細介紹 Maven 快照的原理、用途以及如何在項目中配置和使用快照。 Maven 快照原理 Maven 快照是版本號的一部分,…