如何在 Vue.js 中对相同路径、不同查询参数使用 router.push

新手上路,请多包涵

当前网址是

/?type=1

我想在此页面上使用 router.push。

 this.$router.push('/?type=2');

但这会产生 NavigationDuplicated 错误。

我不想使用像这样的参数

/:type

原文由 Jeongyong Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 493
2 个回答

那是因为它和你现在的路没有什么不同。如果 type 的值不同,它不会给你 NavigationDuplicated 错误。您也可以像下面这样分离查询,以确保框架可以理解它:

 this.$router.push({
   path: '/',
   query: { type: 2 },
});

原文由 Alireza HI 发布,翻译遵循 CC BY-SA 4.0 许可协议

Aliraza 已经回答了你的问题,但我分享这个答案是因为我看到你的评论询问,组件不重新渲染,对于重新渲染组件你需要像这样观察参数:

  watch: {
    '$route.params': 'functionToRunWhenParamsChange',
  }

原文由 Hanzla Habib 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题