无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

前端路由+原生JS實現(xiàn)SPA

2023-06-07 14:13 作者:千鋒前端  | 我要投稿

●前端路由

●路由: 就是一一對應(yīng)關(guān)系的集合
●前端路由: 就是一個 url 地址, 對應(yīng)哪個組件(頁面)
●前端路由的本質(zhì)
○根據(jù)地址欄變化(不重新想服務(wù)器發(fā)送請求), 去局部更新不同的頁面內(nèi)容, 完成前端業(yè)務(wù)場景切換
●前端路由的思路
○URL 地址欄中的 Hash 值發(fā)生了變化
○前端 JS 監(jiān)聽到 Hash 地址的變化 window.onhashchange = () => {}
○前端 JS 把當前 Hash 地址對應(yīng)的組件渲染到瀏覽器中
●SPA
○ 單頁面應(yīng)用 (single page application)
○就是只有一張 Web 頁面的應(yīng)用, 是加載單個 HTML 頁面并在用戶與應(yīng)用程序交互時, 動態(tài)更新該頁面的 Web 應(yīng)用程序
簡單實現(xiàn)

●當前所有的 展示內(nèi)容, 都書寫在了 這個 HTML 文件中, 這種寫法在簡單案例中沒有什么不妥, 但是如果在實際開發(fā)中肯定不好
●因為每一個 展示的內(nèi)容代碼量都可能有很多, 所以放在一個文件內(nèi)部會影響閱讀體驗, 所以我們可以將代碼重新整理調(diào)整一下結(jié)構(gòu)
代碼結(jié)構(gòu)調(diào)整
●SPA/components/templateA.js

●SPA/components/templateB.js

●SPA/components/templateC.js

● SPA/components/templateD.js

●SPA/router.js

●SPA/index.js

●SPA/index.

路由重定向
●路由重定向
○ 我們當前的的單頁應(yīng)用整體沒什么大問題, 但是有一個小問題是首次進入頁面的時候, 渲染區(qū)沒有內(nèi)容展示
○我們的解決方式也很簡單, 就是在首次進入的時候, 將我們的路由重定向到 '/pageA'
○這樣的話我們在首次進入頁面的時候就能夠展示出對應(yīng)的內(nèi)容
?SPA/index.js

?SPA/router.js

懶加載
●現(xiàn)在的問題是在我們當前的完成方式中
○首先會去運行 index.html
○運行時會以模塊化的方式引入 index.js
○在 index.js 中, 我們我們在代碼開始, 導(dǎo)入了 router.js
○此時引入導(dǎo)入的特性, 會將 router.js 中的代碼全都執(zhí)行一次
○而在 router.js 中, 我們又導(dǎo)入了 components 中的 四個文件
○所以也會把這四個文件的內(nèi)容全都執(zhí)行一遍, 哪怕有些文件在首次執(zhí)行的時候并沒有使用到
●所以此時出現(xiàn)了一個問題
○假如我 router.js 中有 200 個文件, 而我首次渲染的時候只用到了其中一個
○但是我們現(xiàn)在的寫法, 在首次運行時仍然會將我 沒用到的那 199 個文件, 都運行一遍
○有一種更好的方式就是我用到了什么文件, 你再加載什么文件即可, 所以我們現(xiàn)在需要使用 "懶加載" 來解決
●換句話說, 懶加載其實就是, 用到了那個文件, 我在加載那個文件, 而不是在開始的時候, 一股腦的全加載完
●方式也很簡單, 我們首先是需要調(diào)整一下引入的方式
○語法; import('地址')
○注意: 這種引入方式是按照 promise 的語法封裝的函數(shù)
○返回值: 因為使用 promise 封裝的, 所以他的返回值不是我們默認導(dǎo)出的內(nèi)容, 而是一個 promise 對象
○所以我們的 index.js 也需要適當?shù)恼{(diào)整

?SPA/router.js

?SPA/index.js

前端路由+原生JS實現(xiàn)SPA的評論 (共 條)

分享到微博請遵守國家法律
克拉玛依市| 卫辉市| 洛阳市| 阳原县| 济南市| 墨竹工卡县| 博罗县| 延安市| 定安县| 尤溪县| 顺义区| 通河县| 中山市| 南投县| 霍林郭勒市| 时尚| 上饶县| 额敏县| 那坡县| 溧阳市| 聂拉木县| 嘉义县| 读书| 长汀县| 红原县| 成安县| 黑水县| 肥乡县| 德化县| 沅陵县| 德令哈市| 闽侯县| 黑河市| 常宁市| 中宁县| 调兵山市| 宜黄县| 兴和县| 九江县| 光山县| 同仁县|