Vue?2?路由指南從基礎(chǔ)到高級(jí)用法舉例
上篇文章給大家介紹了關(guān)于Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效) Vue2路由router的安裝和使用完整實(shí)例 喜歡的朋友直接閱讀。
注意:對(duì)于代碼看不清的部分,用鼠標(biāo)選中就能看到了,背景顏色和字體顏色過于接近,我也不知道怎么調(diào),只能這樣子先看著了
一、Vue Router 是什么?
Vue Router 是 Vue.js 官方的路由管理器,它允許你在單頁(yè)面應(yīng)用中通過不同的 URL 顯示不同的組件。Vue Router 與 Vue.js 核心深度集成,提供了聲明式的路由定義、嵌套路由、動(dòng)態(tài)路由、導(dǎo)航守衛(wèi)等功能,幫助開發(fā)者構(gòu)建復(fù)雜的單頁(yè)面應(yīng)用。
二、安裝與配置
1. 安裝 Vue Router
在 Vue 2 項(xiàng)目中,可以通過 npm 或 yarn 安裝 Vue Router:注意,vue2要安裝3點(diǎn)幾的版本
npm install vue-router@3.6.5 # 或者 yarn add vue-router@3.6.5
2. 創(chuàng)建路由實(shí)例
在項(xiàng)目中創(chuàng)建一個(gè) router.js 文件,用于配置路由:
import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from '../components/Home.vue';
import About from '../components/About.vue';
// 使用 Vue Router
Vue.use(VueRouter);
// 定義路由規(guī)則
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: About
}
];
// 創(chuàng)建路由實(shí)例
const router = new VueRouter({
mode: 'history', // 使用 HTML5 歷史模式
routes
});
export default router;3. 在主文件中引入路由
在 main.js 中引入路由實(shí)例,并將其掛載到 Vue 實(shí)例上:
import Vue from 'vue';
import App from './App.vue';
import router from './router';
new Vue({
router,
render: h => h(App)
}).$mount('#app');三、基本用法
1. 使用 <router-link> 和 <router-view>
在 Vue 模板中,使用 <router-link> 創(chuàng)建導(dǎo)航鏈接,使用 <router-view> 顯示當(dāng)前路由對(duì)應(yīng)的組件。
<template>
<div>
<h1>Vue Router 示例</h1>
<nav>
<router-link to="/">首頁(yè)</router-link>
<router-link to="/about">關(guān)于</router-link>
</nav>
<router-view></router-view>
</div>
</template>2. 動(dòng)態(tài)路由
動(dòng)態(tài)路由允許你在 URL 中傳遞參數(shù)。例如:
const routes = [
{
path: '/user/:id',
name: 'User',
component: User
}
];在組件中,可以通過 $route.params 獲取參數(shù):
<template>
<div>
<h2>用戶詳情</h2>
<p>用戶 ID:{{ $route.params.id }}</p>
</div>
</template>3. 嵌套路由
嵌套路由允許你在某個(gè)組件內(nèi)部定義子路由。例如:
const routes = [
{
path: '/parent',
component: Parent,
children: [
{
path: 'child',
component: Child
}
]
}
];在模板中,使用 <router-view> 顯示子路由:
<template>
<div>
<h2>父組件</h2>
<router-view></router-view>
</div>
</template>四、高級(jí)用法
1. 導(dǎo)航守衛(wèi)
Vue Router 提供了導(dǎo)航守衛(wèi)(Navigation Guards),可以在路由跳轉(zhuǎn)前后執(zhí)行一些邏輯。例如:
router.beforeEach((to, from, next) => {
if (to.path === '/login') {
next();
} else {
if (!isAuthenticated) {
next('/login');
} else {
next();
}
}
});2. 命名路由
為路由命名后,可以通過名稱進(jìn)行跳轉(zhuǎn):
const routes = [
{
path: '/about',
name: 'About',
component: About
}
];在模板中使用 <router-link>:
<router-link :to="{ name: 'About' }">關(guān)于</router-link>3. 編程式導(dǎo)航
除了 <router-link>,還可以通過編程方式導(dǎo)航:
this.$router.push({ name: 'About' });4. 路由懶加載
為了優(yōu)化應(yīng)用性能,可以使用路由懶加載:
const routes = [
{
path: '/about',
name: 'About',
component: () => import('../components/About.vue')
}
];到此這篇關(guān)于Vue 2 路由指南:從基礎(chǔ)到高級(jí)的文章就介紹到這了,更多相關(guān)Vue 2 路由內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue中使用vue-count-to(數(shù)字滾動(dòng)插件)詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于Vue中使用vue-count-to(數(shù)字滾動(dòng)插件)的相關(guān)資料,最近需要開發(fā)一個(gè)數(shù)字滾動(dòng)效果,在網(wǎng)上找到一個(gè)關(guān)于vue-countTo的插件,覺得這個(gè)插件還不錯(cuò),需要的朋友可以參考下2023-09-09
Vue-resource攔截器判斷token失效跳轉(zhuǎn)的實(shí)例
下面小編就為大家?guī)硪黄猇ue-resource攔截器判斷token失效跳轉(zhuǎn)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
vue3中keep-alive和vue-router的結(jié)合使用方式
這篇文章主要介紹了vue3中keep-alive和vue-router的結(jié)合使用方式,?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
vue2中如何更改el-dialog出場(chǎng)動(dòng)畫(el-dialog彈窗組件)
el-dialog是一個(gè)十分好用的彈窗組件,但是出場(chǎng)動(dòng)畫比較單調(diào),于是決定自定義一個(gè)出場(chǎng)動(dòng)畫,本文通過實(shí)例代碼圖文相結(jié)合給大家敘述下實(shí)現(xiàn)思路,感興趣的朋友一起看看吧2022-06-06
vue使用echarts實(shí)現(xiàn)中國(guó)地圖和點(diǎn)擊省份進(jìn)行查看功能
這篇文章主要介紹了vue使用echarts實(shí)現(xiàn)中國(guó)地圖和點(diǎn)擊省份進(jìn)行查看功能,本文通過實(shí)例代碼給大家詳細(xì)講解,對(duì)vue echarts 中國(guó)地圖相關(guān)知識(shí)感興趣的朋友一起看看吧2022-12-12
Vue實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車小案例
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車小案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

