vue中重复跳转当前页面 代码不执行
时间: 2023-05-16 11:04:54 浏览: 191
这个问题可能是由于路由参数没有变化而导致的。你可以尝试在路由跳转时添加一个随机参数来避免这个问题,例如:
this.$router.push({ path: '/current/path', query: { random: Math.random() } });
这样每次跳转时都会带上一个不同的随机参数,避免了重复跳转的问题。
相关问题
vue中重复跳转当前页面,滚动条不重置
对于这个问题,你可以使用以下代码来重置滚动条:
```
this.$router.replace({ path: '/your-current-path' }).catch(err => {})
window.scrollTo(0, 0)
```
其中,`this.$router.replace` 可以用来重复跳转当前页面,`window.scrollTo` 可以用来重置滚动条。
vue3路由跳转当前页面不刷新
vue3中,当路由跳转时,参数不同但路径相同时,页面不会刷新。可以通过在`<router-view>`标签上添加`key`属性来解决这个问题。当`key`属性的值不同时,页面就会重新渲染。
具体的代码如下所示:
```html
<template>
<router-view :key="route.fullPath"></router-view>
</template>
<script>
import { useRoute } from 'vue-router'
export default {
setup() {
const route = useRoute()
return {
route
}
}
}
</script>
```
另外,在`watch`中监听路由的变化,当路由发生变化时可以执行相应的逻辑。例如:
```javascript
import { useRoute, watch } from 'vue'
const route = useRoute()
watch(route, (newValue, oldValue) => {
console.log('路由已触发变化', newValue, oldValue)
// 执行相应的逻辑
})
```
以上两种方法都可以解决vue3路由跳转当前页面不刷新的问题。个人建议选择第一种方法,更加方便快捷。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)