W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)路由器導(dǎo)航到一個(gè)新的組件視圖時(shí),它會(huì)用該視圖的 URL
來更新瀏覽器的當(dāng)前地址以及歷史。 嚴(yán)格來說,這個(gè) URL
其實(shí)是本地的,瀏覽器不會(huì)把該 URL 發(fā)給服務(wù)器,并且不會(huì)重新加載此頁面。
現(xiàn)代 HTML 5 瀏覽器支持 history.pushState API
, 這是一項(xiàng)可以改變?yōu)g覽器的當(dāng)前地址和歷史,卻又不會(huì)觸發(fā)服務(wù)端頁面請求的技術(shù)。 路由器可以合成出一個(gè)“自然的”URL,它看起來和那些需要進(jìn)行頁面加載的 URL 沒什么區(qū)別。
下面是危機(jī)中心的 URL
在 “HTML 5 pushState” 風(fēng)格下的樣子:
老舊的瀏覽器在當(dāng)前地址的 URL
變化時(shí)總會(huì)往服務(wù)器發(fā)送頁面請求……唯一的例外規(guī)則是:當(dāng)這些變化位于 “#”(被稱為“hash”)后面時(shí)不會(huì)發(fā)送。通過把應(yīng)用內(nèi)的路由 URL
拼接在 #
之后,路由器可以獲得這條“例外規(guī)則”帶來的優(yōu)點(diǎn)。下面是到危機(jī)中心路由的 “hash URL”:
路由器通過兩種 LocationStrategy
提供者來支持所有這些風(fēng)格:
PathLocationStrategy
- 默認(rèn)的策略,支持 “HTML 5 pushState” 風(fēng)格。
HashLocationStrategy
- 支持 “hash URL” 風(fēng)格。
RouterModule.forRoot()
函數(shù)把 LocationStrategy
設(shè)置成了 PathLocationStrategy
,使其成為了默認(rèn)策略。 你還可以在啟動(dòng)過程中改寫(override
)它,來切換到 HashLocationStrategy
風(fēng)格。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: