个人理解:在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>

Logo

前往低代码交流专区

更多推荐