vue3實踐---路由router

具體的項目創(chuàng)建這里就不說了躏嚎,直接參考官方文檔就夠了:安裝 | Vue.js (vuejs.org)
不得不說伴找,vite 是真滴強养匈,速度比起webpack 快了好幾倍,用過就真的回不去了债蓝。本次的實踐是實現(xiàn)一個常見的后臺管理系統(tǒng),細節(jié)會盡量跳過,只集中在路由上面去展示和記錄挺智。

先看看主體的路由結(jié)構(gòu)

結(jié)構(gòu).png

首先整個頁面就是一級路由,通常會有登錄頁窗宦,報錯頁赦颇,主頁之間的切換,這里也是做路由切換動畫的主要地方赴涵。當(dāng)頂部有導(dǎo)航菜單的時候紅色框就是二級路由媒怯,以此類推綠色框就是三級路由。

安裝和配置vue-router

創(chuàng)建好vue3項目的第一步就是安裝vue-router ,因為vite 默認并沒有安裝的髓窜。參考官網(wǎng):安裝 | Vue Router (vuejs.org)
然后在src 目錄下創(chuàng)建router目錄扇苞,并添加2個文件index.js,routes.js.

// index.js
import { createRouter, createWebHashHistory } from 'vue-router'
import routes from './routes'

const router = createRouter({
    history: createWebHashHistory(),  // hash 模式,想要改為history 模式可以使用createWebHistory
    routes
})
// 動態(tài)修改路由過度動畫
router.afterEach((to, from) => {
  const toDepth = to.path.split('/').length
  const fromDepth = from.path.split('/').length
  console.log(toDepth)
  console.log(fromDepth)
  console.log(to)
  console.log(from)
  if (to.path == '/login') {
    to.meta.transitionName = 'down'
    from.meta.transitionName = 'opt'
  } else if (from.path == '/login') {
    from.meta.transitionName = 'down'
    to.meta.transitionName = 'up'
  } else {
    to.meta.transitionName = toDepth <= fromDepth ? 'slide_left' : 'slide_right'
  }
  
})
export default router
// routes.js
const routes = [
    {   //一級路由
        path: '/',
        name: '/',
        title: '首頁',
        component: () => import('@/components/home.vue'),
        children: [  // 二級路由
            {
                path: 'mainPage',
                name: 'mainPage',
                title: '主頁',
                component: () => import('@/components/mainPage/mainPage.vue'),
                children: [   // 三級路由
                    {
                        path: 'dataChart',
                        name: 'dataChart',
                        title: '統(tǒng)計圖',
                        component: () => import('@/components/mainPage/dataChart.vue'),
                    },
                ]
            }
        ]
    },
    {
        path: '/login',
        name: 'login',
        title: '登錄',
        component: () => import('../components/login.vue'),
        meta: {
            transition: 'down'
        }
    }
]

export default routes

路由動畫

這里就要畫重點了寄纵。因為vue3的過度動畫transition組件跟vue2比變化還是比較大的鳖敷。主要是以下的2各方面:
1.transition組件在vue 2 中是作為父級包裹路由router-view 的,到了vue3就反過來了

<router-view v-slot="{ Component, route }">
    <transition :name="route.meta.transitionName">
    <component :is="Component" />
    </transition>
</router-view>

2.動畫類名發(fā)生了一點變化程拭,開始和結(jié)束變成了from 和 to 定踱,所以不能直接吧vue2的過度動畫復(fù)制過來,需要做一些改動恃鞋。

/* 下滑 */
.down-enter-active,.down-leave-active{
    transform: translate3d(0,0,0);
    opacity: 1;
}
.down-enter-from{
    transform: translate3d(0,-50%,0);
    opacity: 0.2;
},
.down-leave-to{
    transform: translate3d(0,50%,0);
    opacity: 0.2;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崖媚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子恤浪,更是在濱河造成了極大的恐慌畅哑,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件水由,死亡現(xiàn)場離奇詭異敢课,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門直秆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來濒募,“玉大人,你說我怎么就攤上這事圾结」逄辏” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵筝野,是天一觀的道長晌姚。 經(jīng)常有香客問我,道長歇竟,這世上最難降的妖魔是什么挥唠? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮焕议,結(jié)果婚禮上宝磨,老公的妹妹穿的比我還像新娘。我一直安慰自己盅安,他們只是感情好唤锉,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著别瞭,像睡著了一般窿祥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝙寨,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天晒衩,我揣著相機與錄音,去河邊找鬼墙歪。 笑死听系,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的箱亿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼弃秆,長吁一口氣:“原來是場噩夢啊……” “哼届惋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起菠赚,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤脑豹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衡查,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘩欺,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了俱饿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歌粥。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拍埠,靈堂內(nèi)的尸體忽然破棺而出失驶,到底是詐尸還是另有隱情,我是刑警寧澤枣购,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布嬉探,位于F島的核電站,受9級特大地震影響棉圈,放射性物質(zhì)發(fā)生泄漏涩堤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一分瘾、第九天 我趴在偏房一處隱蔽的房頂上張望胎围。 院中可真熱鬧,春花似錦芹敌、人聲如沸痊远。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碧聪。三九已至,卻和暖如春液茎,著一層夾襖步出監(jiān)牢的瞬間逞姿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工捆等, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滞造,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓栋烤,卻偏偏與公主長得像谒养,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子明郭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容