日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue重复点击路由报错,解决NavigationDuplicated: Avoided redundant navigation to current location: 问题

發布時間:2024/3/12 vue 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue重复点击路由报错,解决NavigationDuplicated: Avoided redundant navigation to current location: 问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vue項目中重復加載當前路由會報錯,

?解決方法:找到項目中的router文件,在里面添加代碼,修正Vue原型上的push和replace方法

(注意vue-router的引入名稱)

// 緩存原型上的push函數 const originPush = Router.prototype.push const originReplace = Router.prototype.replace // 給原型對象上的push指定新函數函數 Router.prototype.push = function (location, onComplete, onAbort) {// 判斷如果沒有指定回調函數, 通過call調用源函數并使用catch來處理錯誤if (onComplete===undefined && onAbort===undefined) {return originPush.call(this, location, onComplete, onAbort).catch(() => {})} else { // 如果有指定任意回調函數, 通過call調用源push函數處理originPush.call(this, location, onComplete, onAbort)} }// replace函數 Router.prototype.replace = function (location, onComplete, onAbort) {if (onComplete===undefined && onAbort===undefined) {return originReplace.call(this, location, onComplete, onAbort).catch(() => {})} else {originReplace.call(this, location, onComplete, onAbort)} }

可以按需添加,當時我遇到這個問題按照百度上搜索的辦法沒有解決的原因是因為我項目中用的是replace方法,可是百度上都是修改push方法,導致不生效,現在列出兩種push和replace方法的修改代碼,看自己用的是哪種方法,按需添加就生效了

總結

以上是生活随笔為你收集整理的vue重复点击路由报错,解决NavigationDuplicated: Avoided redundant navigation to current location: 问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。