国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue 動態(tài)路由刷新失效及404頁面處理

這篇具有很好參考價值的文章主要介紹了vue 動態(tài)路由刷新失效及404頁面處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在開發(fā)后臺管理項目,我們會使用vue動態(tài)路由做權(quán)限管理,但是使用vue動態(tài)路由時會遇到一些坑,這里總結(jié)一下,并提供解決思路

1.動態(tài)路由刷新頁面失效問題

問題:刷新頁面時會把addRouter添加的動態(tài)路由刷新掉,因此瀏覽器找不到之前添加的路由,便會進入白屏頁面或者404頁面

處理方式:判斷是否刷新頁面 ?如果刷新在路由守衛(wèi)中再次添加動態(tài)路由

把添加的動態(tài)路由存入瀏覽器緩存和vuex或pinia中 如果刷新頁面vuex和pinia存的內(nèi)容將會丟失以此來判斷是否刷新頁面 然后從瀏覽器緩存中拿到再重新添加

router.beforeEach((to, from, next) => {
    if(store.userRouter.length || to.path == '/' || to.path == '/index'){
           next() //如果登錄頁或首頁 或 vuex中有動態(tài)路由數(shù)據(jù) 直接通過
    }else{
          //拿到瀏覽器緩存中動態(tài)路由的數(shù)據(jù) 重新添加
          const data = JSON.parse( localStorage.getItem('userRouter'))
          store.userRouter = data     //重新復(fù)制給store
          data.forEach(e=>{        //循環(huán)添加路由
          router.addRoute(e) 
          }) 
           
          next(to.path)  //添加完成后再次進入
 
    }
})

注意使用pinia在router配置文件中訪問不到store,建議寫在mian.js

userRouter為自定義變量? 格式為數(shù)組包裹addRoute所需數(shù)組


2.動態(tài)路由搭配404頁面使用

如果我們配置了404頁面 用以上方式進入動態(tài)路由頁面還是會進入404頁面 我們需要將404頁面的路由也動態(tài)追加文章來源地址http://www.zghlxwxcb.cn/news/detail-521817.html

router.beforeEach((to, from, next) => {
    if(store.userRouter.length || to.path == '/' || to.path == '/index'){
           next() //如果登錄頁或首頁 或 vuex中有動態(tài)路由數(shù)據(jù) 直接通過
    }else{
          //拿到瀏覽器緩存中動態(tài)路由的數(shù)據(jù) 重新添加
          const data = JSON.parse( localStorage.getItem('userRouter'))
          store.userRouter = data     //重新復(fù)制給store
          data.forEach(e=>{        //循環(huán)添加路由
          router.addRoute(e) 
          }) 


          //添加404動態(tài)路由
          router.addRoute({
          path: "/:catchAll(.*)",
          redirect: "/404",
           })
           
          next(to.path)  //添加完成后再次進入
 
    }
})

到了這里,關(guān)于vue 動態(tài)路由刷新失效及404頁面處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue3 動態(tài)添加路由刷新后頁面丟失(白屏)問題

    vue3 動態(tài)添加路由刷新后頁面丟失(白屏)問題

    動態(tài)添加路由操作一般是用vuex或者Pinia封裝,在登錄頁面調(diào)用 如果出現(xiàn)刷新頁面丟失有兩種可能: 1:vuex或者Pinia沒有做持久化處理 2:動態(tài)添加路由需要在main.ts里面也調(diào)用一次 不需要路由守衛(wèi)即可實現(xiàn) 注意:必須要在頁面掛載前還有路由配置完成前調(diào)用添加,不然還是丟

    2024年02月16日
    瀏覽(28)
  • 前端部署nginx刷新后404,解決Nginx刷新頁面后404的問題

    前端部署nginx刷新后404,解決Nginx刷新頁面后404的問題

    使用Nginx部署后,登錄頁面刷新一下就出來404,如下圖: 刷新以后 ,頁面變成404 Not Found 查看了一下nginx配置,出現(xiàn)問題的配置是這樣的: 修改后的配置是這樣的 添加了 try_files $uri $uri/ /index.html, 然后重啟一下nginx問題就解決了。 解釋: try_files 表示檢查文件是否存在,返回

    2024年02月13日
    瀏覽(30)
  • 前端刷新頁面的五種方法(含原生js、vue和react)

    1、window.history.go(0)方法 2、location.reload()方法 3、location.href=location.href方法 4、vue-router方法 5、react-router方法

    2024年02月16日
    瀏覽(21)
  • vue3實現(xiàn)動態(tài)菜單和動態(tài)路由和刷新后白屏處理

    vue3實現(xiàn)動態(tài)菜單和動態(tài)路由和刷新后白屏處理

    項目中,當每一個角色得到的界面不一致的時候,我們就不能使用靜態(tài)菜單了,而是要從后端得到動態(tài)的菜單數(shù)據(jù),然后動態(tài)的將菜單數(shù)據(jù)展示在界面上。 除了在界面展示,也還要將界面的路由動態(tài)添加,在路由動態(tài)添加之后,你可能會出現(xiàn)刷新界面,界面變白的情況,頁面

    2024年02月06日
    瀏覽(18)
  • docker使用nginx部署vue刷新頁面404

    docker使用nginx部署vue刷新頁面404

    從docker內(nèi)部復(fù)制出來的配置文件是這樣的,但是刷新頁面之后就顯示404,關(guān)鍵是我兩個前端項目都是用的這一個配置文件,但是只有一個項目出現(xiàn)刷新瀏覽器顯示404的問題,這給我搞懵了?。?! 在網(wǎng)上查找問題原因和解決辦法,但是大多數(shù)都說是資源找不到,讓修改配置文件

    2024年01月18日
    瀏覽(26)
  • nginx 部署vue項目,頁面白屏或者頁面刷新出現(xiàn)404問題

    將vue項目打包部署到nginx上面運行 問題一: 運行時頁面白屏。 問題二: 頁面可以正常顯示,當刷新頁面的時候頁面報404 錯誤。 頁面白屏分析: 我們可以先查看一下nginx下的 logs/error.log 日志文件,確定我的問題是因為項目打包時候路勁配置問題。 頁面404分析 :我們在將

    2024年02月15日
    瀏覽(26)
  • Vue項目nginx服務(wù)器部署刷新頁面404錯誤

    最近想自己做點小項目練手,前端用的是vue框架,用nginx當做服務(wù)器來部署。但是當部署完成后,遇到了刷新頁面和打開新頁面報404錯誤的問題 問題就像上面描述的一樣,刷新頁面和打開新頁面都是報404錯誤。 先說最終解決辦法,在nginx的配置文件的location中改一下設(shè)置方式

    2024年02月17日
    瀏覽(22)
  • vue/react項目刷新頁面出現(xiàn)404的原因以及解決辦法

    問題描述:vue/react項目,正常的頁面操作跳轉(zhuǎn),不會出現(xiàn)404的問題,但是一旦刷新,就會出現(xiàn)404報錯。 產(chǎn)生原因:我們打開vue/react打包后生成的dist文件夾,可以看到只有一個 index.html 文件及一些靜態(tài)資源,這個是因為vue/react是單頁應(yīng)用(SPA),只有一個index.html作為入口文件,

    2024年02月06日
    瀏覽(27)
  • 部署問題-Vue Router在history模式下刷新頁面404問題

    Vue Router模式: (1)Hash:原理是onhashchange事件 請求中是在hash值之前的內(nèi)容,所以請求始終是有效的 (2)History:原理是利用了h5的Interface 中的pushState()方法和replaceState()方法,它們提供了對瀏覽器歷史記錄進行修改的功能,但當它們執(zhí)行修改時,雖然改變了當前的 URL,但瀏覽

    2024年02月04日
    瀏覽(24)
  • 使用nginx方向代理部署Vue項目刷新頁面404的問題解決

    部署出現(xiàn)的問題為:由于項目中使用的vue router 項目直接使用node環(huán)境部署項目,在同一個路由如: 192.168.1.30:/home刷新瀏覽器正常 nginx部署刷新不出現(xiàn)404 /nginx not found 如何解決? 以下是我的想法:似乎是nginx代理使其直接訪問文件,而沒有使項目的路由生效從而正確加載資源 這

    2024年02月07日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包