亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

vue頁面路由配置和使用 vue添加路由和頁面為什么不顯示

前言項(xiàng)目框架:Vue3 + TypeScript
有這樣一個(gè)需求,系統(tǒng)默認(rèn)只有最基礎(chǔ)的幾個(gè)路由,如登錄、404等,其它路由需要在登錄后動態(tài)添加 。系統(tǒng)沒有固定首頁,登錄完成后跳轉(zhuǎn)至動態(tài)菜單的第一個(gè)菜單頁 。
分析這一邏輯乍一看很簡單,其實(shí)有很多小坑在里面 。其中最容易踩的的坑是動態(tài)路由尚未渲染完成就已經(jīng)觸發(fā)路由跳轉(zhuǎn)了,這時(shí)候肯定是404,因?yàn)槁酚刹⒉淮嬖?;另一個(gè)容易踩的坑是路由重復(fù)加載 , 此時(shí)頁面會顯示空白,需要手動刷新才能正常顯示 。
首先想到的就是使用 Promise 函數(shù)解決,結(jié)果行不通 。addRoute 是一個(gè)宏任務(wù) 和 resolve 是微任務(wù),所以 Promise 結(jié)束的時(shí)候并不能代表動態(tài)路由已經(jīng)添加完成 。
其次又想到使用 async 函數(shù)來確保獲取到登錄成功結(jié)果的時(shí)候,路由已經(jīng)添加完成,結(jié)果一番嘗試后依然行不通 。因?yàn)樘砑勇酚傻牟僮鞑皇钱惒降?,沒有返回 Promise 對象,因此這里的 await 是不會產(chǎn)生效果的 。(PS:事后使用 Promise.all 解決了這一問題 , 后面的具體方法上會說 。)
最后,想到了一個(gè)很笨的解決方法,輪詢 。實(shí)驗(yàn)過后,確定可以實(shí)現(xiàn),但就如開頭說的,這會顯得很 low ,雖然它最終解決了問題 。
實(shí)踐登錄的操作都是一樣的,所以單獨(dú)拿出來只寫一遍 。表單就不做介紹了,就從點(diǎn)擊登錄表單校驗(yàn)通過后說起 。
所有登錄的代碼放到一個(gè)頁面會顯得臃腫,所以具體登錄的操作邏輯我把它抽離了出來 。在 src/utils 目錄下創(chuàng)建一個(gè) auth.ts 文件 。


    以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時(shí)就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

    「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: