NavigationDuplicated:Avoided redundant navigation to current location(重复请求相同路径警告)解决办法

个人理解:在Vue中为了节约资源,一样的内容不会重复加载(浏览器如果发现请求地址一样也不会跳)。所以当你请求跳转相同的路径时,虽然不影响程序运行但是控制台中还是会跳出警告。我在此前做ASP.NET的时候一般出现这种情况解决办法是加随机数,在每次请求的地址中加一下不重复但又无关紧要的随机数就可以了。但是vue中$router.push让我不知道怎么加随机数了(希望有知道的同学评论区留言),所以考虑他法。


1.prototype方法:

在router.js文件中加上如下图所示代码段即可。

//解决vue路由重复导航错误
//获取原型对象上的push函数
const originalPush = Router.prototype.push
//修改原型对象中的push方法
Router.prototype.push = function push(location) {
   return originalPush.call(this, location).catch(err => err)
}

插入位置如下图

2.随机数

这个方法是我ASP.NET中最常用的方法,在vue中发现<router-link to="">可以实现,方法如下:

<router-link :to="`/home/mydoctor/zonghe/${Math.random()}`"> 
    随机数方法
</router-link>

但是在$router.push()中应该如何加呢还没弄清楚,还是压根不行呢?这个等以后慢慢研究。希望有知道的同学评论区留言。

猜你喜欢

转载自blog.csdn.net/qq_42539194/article/details/112759315