Problem description: When using $router.push with parameters to jump to the current page, the page will report an error and the page will not be refreshed
problem solved:
app.vue page modification
<template>
<div id="app">
<router-view v-if="isRouterAlive"/>
</div>
</template><script>
export default {
name: 'App',
provide (){
return {
reload: this.reload
}
},
data(){
return {
isRouterAlive: true
}
},
methods:{
reload(){
this.isRouterAlive = false;
this.$nextTick(function(){
this.isRouterAlive = true;
})
}
}
}
</script><style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* text-align: center; */
/* color: #2c3e50; */
/* margin-top: 60px; */
}
</style>
On the page that needs to be redirected
this.$router.replace({ name: "type", query: {typeid: id} },()=>{ that.reload();//Refresh the page })
In this way, the operation of jumping to the current page and refreshing the page can be realized