vue.js - Vue路由器。使用查询参数调用 this.$router.push() 会导致双重路由器更新
问题描述
我试着写分页。问题在于下一个/上一个按钮。单击时,我尝试使用路径名和几个查询调用 this.$router.push() 。问题是 vue-router 立即通过查询进入正确的链接,但在立即进入同一链接但没有查询之后。
这是分页按钮上的方法
goToPage(forward) {
this.$router.push({name: 'spots', query: {per_page: 5, page: 2}});
}
这就是在 router.js 文件中定义路由的方式
{
path: '/:eventId/guestlists/:guestlistId/spots',
component: SpotsAndMeals,
name: 'spots',
props: true
},
我想要什么?我想在我的浏览器中执行 goToPage 函数后更新路由并显示查询参数。
解决方案
谢谢大家的尝试!但是我发现了问题。问题在于 Vue 如何与相同的<router-view>
. 如果我通过查询从 path.name A 转到 path.name B 一切正常。如果我通过查询从 path.name A 转到 path.name A,魔术就开始了。为了克服这一点,我需要添加<router-view :key="$route.fullPath"></router-view>
. 所以现在 Vue 的行为符合我的预期
推荐阅读
- node.js - React 控制台错误:找不到模块:无法在 ...\node_modules\react-popper\lib 中解析“react”
- node.js - socket.io-client-cpp 未通过 https 连接到 Heroku 上的节点应用程序
- django - ModuleNotFoundError:没有名为“_sqlite3”的模块 python django
- reactjs - 在 slatejs react 中的编辑器内容末尾添加自定义块
- python-3.x - 过滤熊猫数据框中的列
- php - 为什么在 Laravel 5.6 中没有搜索组合 Algolia 中的关键词?
- macros - 我可以通过宏中的多个规则重复匹配吗?
- javascript - 我的 Udacity MyReads React Project 道具有问题
- java - 为什么 getCalendar().getTime() 返回错误的年份?
- gradle - Gradle:如何在执行dependsOn之前执行任务doFirst?