前提:當(dāng)你搭建完一個(gè)vue腳手架之后,通過localhost:8080打開一個(gè)頁面時(shí),url的顯示會(huì)變成http://localhost:8080/#/蟀给,此時(shí)路由設(shè)置如下:
頁面會(huì)顯示home.vue里的內(nèi)容瓮增。即是呵恢,通過localhost:8080打開頁面种蘸,路由一定是到path:'/'這個(gè)頁面的墓赴。
需求:打開localhost:8080鏈接,按enter鍵航瞭,進(jìn)入localhost:8080/login路由頁面诫硕。
解決方案:使用重命名redirect即可。
代碼如下:
{
? ? ? ?path: '/',
? ? ? ?redirect: '/login'
}
拓展:
(1)開發(fā)者設(shè)置的路由里只有path為 '/home' 和 '/login' 的兩個(gè)路由刊侯。但是此時(shí)要是章办,用戶胡亂輸入或者不小心輸入不存在的路由時(shí),那么頁面將是一片空白滨彻。這雖然說不是錯(cuò)誤藕届,但是這并不是我們想要的。所以亭饵,可以設(shè)定——當(dāng)用戶輸入不存在的路由時(shí)休偶,統(tǒng)一跳轉(zhuǎn)到某一頁面。即是:
如圖辜羊,比原來自動(dòng)生成的index.js文件多了一行代碼
mode: 'history'
這個(gè)的用途和以上提到的重命名無關(guān)踏兜,詳情見HTML5 History模式
圖2中實(shí)現(xiàn)的功能:
(1)輸入localhost:8080,回車八秃,url變成localhost:8080/home,顯示home頁面內(nèi)容碱妆。這是因?yàn)閜ath:'*'表示不存在的路由。開發(fā)者只設(shè)置了'/home'和'/login'昔驱。'/'就是不存在疹尾、未設(shè)置的。
(2)輸入localhost:8080/abc骤肛,回車纳本,url變成localhost:8080/home,顯示home頁面內(nèi)容。這是因?yàn)閜ath:'*'表示不存在的路由腋颠。開發(fā)者只設(shè)置了'/home'和'/login'饮醇。'/abc'就是不存在、未設(shè)置的秕豫。說白了個(gè)(1)是一個(gè)原因朴艰。
(3)輸入localhost:8080/home,回車混移,正常顯示home里的內(nèi)容祠墅,這個(gè)沒得說,設(shè)置了的歌径,輸入啥就是啥毁嗦。
(4)輸入localhost:8080/login,回車回铛,也正常顯示login里的內(nèi)容狗准,原因和(3)一樣克锣。
(5)輸入localhost:8080/b,回車腔长,url不發(fā)生改變袭祟,仍為localhost:8080/b。顯示home里的內(nèi)容捞附。這vue-router里的別名巾乳,就是給了個(gè)小名,指到同一個(gè)組件鸟召。
最后胆绊,推薦大家可以看一下vue-router官方教程。