更新時間:2021-12-30 來源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
什么是路由
SPA 與前端路由
SPA 指的是一個 web 網(wǎng)站只有唯一的一個 HTML 頁面,所有組件的展示與切換都在這唯一的一個頁面內(nèi)完成。
此時,不同組件之間的切換需要通過前端路由來實現(xiàn)。
結(jié)論:在 SPA 項目中,不同功能之間的切換,要依賴于前端路由來完成!
前端路由的工作方式
①用戶點擊了頁面上的路由鏈接
②導(dǎo)致了 URL 地址欄中的 Hash 值發(fā)生了變化
③前端路由監(jiān)聽了到 Hash 地址的變化
④前端路由把當(dāng)前 Hash 地址對應(yīng)的組件渲染都瀏覽器中
實現(xiàn)簡易的前端路由
步驟1:導(dǎo)入并注冊MyHome、MyMovie、MyAbout 三個組件。示例代碼如下:
import MyHome from './components/MyHome.vue'
import MyMovie from './components/MyMovie.vue'
import MyAbout from './components/MyAbout.vue'
export default {
components: {
MyHome,
MyMovie,
MyAbout,
},
}步驟2:通過標簽的is 屬性,動態(tài)切換要顯示的組件。示例代碼如下:
< template >
< h1 > App 組件 < /h1>
< component: is = "comName" > < /component>
< /template>
export default t
data() {
return {
comName: 'my-home', //要展示的組件的名稱
}
},
}步驟3:在組件的結(jié)構(gòu)中聲明如下3 個鏈接,通過點擊不同的鏈接,切換瀏覽器地址欄中的Hash 值
<a href="#/home">Home</a> <a href="#/movie">Movie</a> <a href="#/about">About</a>
步驟4:在created生命周期函數(shù)中監(jiān)聽瀏覽器地址欄中Hash 地址的變化,動態(tài)切換要展示的組件的名稱:
created() {
windoiufonhashchange = () => {
switch (location.hash) {
case '#/home': //點擊了“首頁“的鏈接
this.comName = 'my-home'
break
case '#/movie': //點擊了“電影”的鏈接
this.comName = 'my-movie'
break
case '#/about': //點擊了“關(guān)于”的鏈接
this.comName = 'my-about'
break
}
}
}整合項目和路由功能的開發(fā)【APP開發(fā)實戰(zhàn)項目】
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19