0

我有一个sidebar:

Home User List

现在我点击List,然后router是这样工作的:

this.$router.push('/index/list')

这样的话List组件就会被渲染进 <router-view> ,我现在处于List页面,我想再点击一次菜单中的 List tab,然后刷新List页面的数据,但是因为我当前已经处于List组件了,好像不会重新渲染页面,有没有什么好办法实现?
PS:我是在created()中获取数据的。
PPS:想到一个办法就是监听当前路由,如果路由没有变化就刷新页面,但是这样相当于按F5,刷新整个页面,太丑了。我只想重新渲染组件的数据。

查看全部 3 个回答

0

如果数据没有变化,为什么要刷新呢

如果是要重新请求数据,为何不将created进行的操作提成方法放在methods,在tab的点击事件中再调用呢
如果是要在相同路由下进行刷新,可以尝试

router.go({
  path: '/List',
  force: true
})