Vue jumps to the current page to change the parameters carried by the url and refresh the page

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

Guess you like

Origin blog.csdn.net/lovewangyage/article/details/129109840