目標(biāo):學(xué)習(xí)Router基本用法,實(shí)現(xiàn)多頁面跳轉(zhuǎn)
前面4章祝闻,我們學(xué)習(xí)了不少內(nèi)容占卧,表格、下拉框、彈出消息华蜒,多語言等辙纬,
參考element的文檔,我們現(xiàn)在已經(jīng)可以干不少事情了叭喜。
但是贺拣,有個(gè)小小的問題,就是我們目前做的功能捂蕴,都限制在一個(gè)頁面之內(nèi)譬涡,這顯然是不行的,太不高大上了啥辨。
今天我們?cè)倩▊€(gè)七八分鐘涡匀,學(xué)習(xí)一下如何做多頁面
vue框架里面,頁面跳轉(zhuǎn)是用router來實(shí)現(xiàn)的委可,功能類似于普通html里面的<a href="xxx">標(biāo)簽
只是html里面是整個(gè)頁面跳轉(zhuǎn)渊跋,而vue是單頁應(yīng)用,頁面的跳轉(zhuǎn)是在本頁面內(nèi)部進(jìn)行的
這些抽象的概念先不要細(xì)看着倾,實(shí)際操作一下更好理解拾酝。
有一個(gè)需要注意的,就是Router是屬于Vue框架的卡者,不是element的一個(gè)控件
所以在element官網(wǎng)找不到使用文檔蒿囤。在這里:https://router.vuejs.org/zh/
我們按此文檔先安裝下,執(zhí)行cnpm install vue-router
一個(gè)稍微大點(diǎn)的網(wǎng)站崇决,可能會(huì)有幾十甚至上百個(gè)頁面材诽,每個(gè)頁面都有router的定義,會(huì)比較復(fù)雜
所以我們最好新建一個(gè)js文件來管理router,而不是簡(jiǎn)單的加在main.js里面
在src目錄下新建router目錄恒傻,并創(chuàng)建index.js文件脸侥,內(nèi)容如下
(寫法參考了 https://router.vuejs.org/zh/guide/#javascript)
這里我們定義了兩個(gè)路由,指向登錄頁和主頁(現(xiàn)在還沒有)
現(xiàn)在創(chuàng)建這兩個(gè)文件盈厘,最最簡(jiǎn)單的填點(diǎn)東西
然后我們?cè)趍ain.js里面導(dǎo)入router/index.js這個(gè)文件睁枕,修改內(nèi)容如下
我們還需要修改下App.vue這個(gè)入口文件,里面只放一個(gè)<router-view />,別的都不要沸手。
修改之前外遇,可以把這個(gè)文件做個(gè)備份,前面也是費(fèi)了點(diǎn)勁才做出來的契吉,不要浪費(fèi)了跳仿。
現(xiàn)在看看頁面,好了捐晶,默認(rèn)地址變成空白了(現(xiàn)在App.vue里面啥也沒有)
但是在地址后面加上login和home菲语,可以看到東西妄辩,說明路由起作用了
ok,我們已經(jīng)實(shí)現(xiàn)了router最基本的內(nèi)容
現(xiàn)在稍微改進(jìn)一下谨究,在Home和Login這兩個(gè)文件里分別都加上一個(gè)跳轉(zhuǎn)鏈接
看看效果恩袱,可以自由跳轉(zhuǎn),高級(jí)了胶哲!
回過頭我們?cè)賮斫鉀Q一個(gè)小問題畔塔,就是網(wǎng)站的默認(rèn)頁面,變成空白的問題
在router/index.js里加這么一行鸯屿,把默認(rèn)頁面跳轉(zhuǎn)到登錄頁
(這行代碼參考了https://router.vuejs.org/zh/guide/essentials/redirect-and-alias.html)
現(xiàn)在重新訪問 http://localhost:8080試試澈吨,自動(dòng)跳轉(zhuǎn)了。
現(xiàn)在我們可以做很多頁面寄摆,并且實(shí)現(xiàn)自由跳轉(zhuǎn)了谅辣,very good!
但是本章結(jié)束之前婶恼,我們還需要學(xué)習(xí)一個(gè)內(nèi)容桑阶,就是頁面跳轉(zhuǎn)的時(shí)候帶上參數(shù)
參考https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html
試一下,添加一個(gè)用戶頁
router/index.js里面勾邦,添加路由設(shè)置蚣录,注意 :/userId這個(gè)寫法
在Home.vue里面加兩個(gè)鏈接
試一下頁面效果
通過傳參,我們可以在一個(gè)路由(頁面)里顯示多個(gè)用戶的信息眷篇,很方便萎河!
router的基本用法就是這些,可以對(duì)付一陣了蕉饼。
還有一些高級(jí)內(nèi)容虐杯,以后再說,本章完