有时候需要带不同参数去跳转当前的页面,vue路由是不会刷新的,这个时候,就需要通过监听来进行处理。
比如当前页是details,跳转代码:
this.$router.push({name: 'details',query: { ID: 2 }})
页面中原ID为1,跳转时变更为2,假设原值保存在this.ID中
在watch中监听:
$route(to) {
// 监听路由是否变化
if (to.query.ID !== this.ID && to.name === 'details') {
this.ID = to.query.ID
this.init() // 直接处理获取数据的部分就行,页面不闪。
// location.reload() // 这个是刷新整个页面,会闪一下。
console.log('当前页刷新!')
}
}