javascript - 尝试使用查询推送路线时出现“NavigationDuplicated:避免冗余导航到当前位置”错误
问题描述
我有一个导航标题,其中包含一个搜索栏,该搜索栏将用户重定向到主页视图,搜索栏值作为查询,如下所示:
<template lang="html">
<div class="search-by-query">
<input type="text" :model="searchQuery">
<div @click="search()">Search</div>
</div>
</template>
<script>
import router from "../router"
export default {
data(){
return {
searchQuery: ""
}
},
methods: {
search(){
router.push({ name: "home", query: { searchQuery: this.query }})
}
}
}
</script>
问题是当我从home
视图内部执行该函数时,我得到了这个错误"NavigationDuplicated: Avoided redundant navigation to current location"
。我知道我收到错误是因为我试图走同一条路线,但我不确定我还能怎么做。
解决方案
您可以使用以下方法解决该错误.catch
:
export default {
methods: {
search() {
this.$router.push(...).catch(() => { /* ignore */ })
}
}
}
或者通过router-link
在模板中使用 a :
<router-link :to="{ name: 'home', query: { searchQuery: query } }">Search</router-link>
请注意,您的问题显示了data
名为 的道具searchQuery
,但您query
在router.push()
.
推荐阅读
- flutter - Flutter:未能将本地化与 Provider 包结合起来
- opencv - 使用 OpenCV 检测图像是否有故障
- azure-cosmosdb - 如果分区键值为空,Azure Cosmos 会发生什么
- excel - 在 datepicker Excel 中更改日期后运行 VBA 宏
- azure - Azure EventHub EnqueuedTime 在分区内是否单调递增?
- python - 尝试通过连接变量名称并仅打印一列来从 3D 数组打印
- pandas - 结合箱线图绘制水平线参考
- haskell - 对具有相同行为的两种对象进行建模
- c++ - 什么可能导致 C++ 级别的页面错误
- javascript - 我想更改传单中一层的图标颜色,我有两个点,所有图层都显示为蓝色默认图标