前端路由實現的關鍵知識點

2022-05-01 09:06:07 字數 531 閱讀 2508

一、採用location.hash+window.hashchange事件

1.不管是直接在鏈結標籤上指定hash(test)還是通過location.hash='#1234'設定hash都會導致瀏覽器位址列變化,從而觸發hashchange事件

2.hashchange事件中可通過event.newurl來獲取改變後的頁面位址,然後從該url中提取#後面的內容(一般是乙個頁面位址及引數)

3.通過ajax載入上一步提取到的頁面路徑,然後插入指定位置即可

二、通過history.pushstate和window.popstate事件

1.通過window.history.pushstate(資料物件,標題,url)可生成一條歷史記錄,該方法會導致瀏覽器位址列變更,但頁面不會發生跳轉

2.點選瀏覽器的前進、後退,或者location.hash發生變更時會觸發window.popstate事件,在事件中可通過event.state獲取第一步設定的資料物件

前端知識點

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 知識點 ul li 中預設選擇class active firstli rem...

前端知識點

css實現單行文字溢位顯示 overflow hidden text overflow ellipsis white space nowrap 實現多行文字溢位顯示 display webkit box webkit box orient vertical webkit line clamp 3 o...

前端知識點

關於html 1.html語義化標籤的理解 結構化的理解 能否寫出簡潔的html結構 seo優化 2.h5中新增的屬性 如自定義屬性data,類名classname等,新增表單元素,拖拽drag 3.h5中新增的api,修改的api,廢棄的api 稍作了解 離線儲存,audio,video 關於cs...