有时候需要带不同参数去跳转当前的页面,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('当前页刷新!')

  }

}