Vue.js 将新查询推送到vue路由器时导航重复

Vue.js 将新查询推送到vue路由器时导航重复,vue.js,vue-router,Vue.js,Vue Router,我通过以下命令将查询推送到路由器 this.$router.push({ query: { queryKey: ["a", "b", "c"] } }); 每次单击元素都会将新值推送到数组中,所以第一个查询是“a”,然后是[“a”、“b”],然后是[“a”、“b”、“c”]。这就是我开始有问题的地方。第一个和第二个查询是可以的,但第三个查询尽管与第二个查询不同,但被vue路由器视为重复查询 这怎么解决呢?那是我的错误。我正在操作一个变量,并将其赋值为。$route.query.key。因此,除

我通过以下命令将查询推送到路由器

this.$router.push({ query: { queryKey: ["a", "b", "c"] } });
每次单击元素都会将新值推送到数组中,所以第一个查询是“a”,然后是[“a”、“b”],然后是[“a”、“b”、“c”]。这就是我开始有问题的地方。第一个和第二个查询是可以的,但第三个查询尽管与第二个查询不同,但被vue路由器视为重复查询


这怎么解决呢?那是我的错误。我正在操作一个变量,并将其赋值为。$route.query.key。因此,除了推到我的变量之外,我在后台修改了原始数组。$route.query,没有考虑它

检查Vue DevTools中的路由历史记录。由于导航未发生,因此不会将新条目添加到路由历史记录中,当我从?key=val导航到?key=val&key=val2时,我在FROM和to中看到路由器中的这些值,路由器从fullPath/?key=val导航到fullPath?key=val&key=val2。当我想转到下一个查询时,除了控制台中的NavigationDuplicated错误之外,我看不到任何东西。在每个钩子也被阻塞之前。