vue-route访问同一路由刷新页面
时间: 2023-02-11 21:10:16 浏览: 73
在 Vue Router 中,如果要在访问同一路由时刷新页面,可以使用 $router.replace() 方法来替代 $router.push() 方法。这样可以避免路由记录中产生重复的记录,并且使用 $router.go(-1) 或 $router.back() 返回时不会返回到当前路由。
例如:
```
this.$router.replace({path: '/current'});
```
或者
```
this.$router.replace({path: this.$route.path});
```
使用这种方式刷新页面时,需要注意的是会触发导航守卫中的 beforeRouteUpdate 钩子函数。
相关问题
vue-router 访问同一路由,刷新页面
使用 vue-router 访问同一路由并刷新页面可以使用 $router.go() 或 $router.replace() 方法。
$router.go() 方法可以跳转到历史记录中的特定偏移量,负数表示后退,正数表示前进。
$router.replace() 方法可以替换当前路由记录,不会留下历史记录。
例如:
```
this.$router.go(0)
```
或
```
this.$router.replace({path: '/same-route'})
```
如果您想在访问同一路由时重新渲染组件,可以使用key属性
例如:
```
<router-view :key="$route.fullPath"></router-view>
```
这样就能在访问同一路由时重新渲染组件了。
vue-route 访问同一路由,怎么取消报错
在 Vue Router 中,可以使用 `beforeEnter` 钩子函数来实现访问同一路由时取消报错。例如:
```
const router = new VueRouter({
routes: [
{
path: '/same',
component: SamePage,
beforeEnter (to, from, next) {
if (from.path === to.path) {
next(false)
} else {
next()
}
}
}
]
})
```
这样,当用户访问同一个路由时,就不会报错了。
注意:当使用 `next(false)` 时,页面不会跳转, 若需要跳转请使用next('/path')