vue 监听路由变化

Posted 每天都要进步一点点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 监听路由变化相关的知识,希望对你有一定的参考价值。

方法一:通过 watch

// 监听,当路由发生变化的时候执行
watch:{
  $route(to,from){
    console.log(to.path);
  }
},

// 监听,当路由发生变化的时候执行
watch: {
  $route: {
    handler: function(val, oldVal){
      console.log(val);
    },
    // 深度观察监听
    deep: true
  }
},

// 监听,当路由发生变化的时候执行
watch: {
  ‘$route‘:‘getPath‘
},
methods: {
  getPath(){
    console.log(this.$route.path);
  }
}

方法二::key是用来阻止“复用”的。

Vue 为你提供了一种方式来声明“这两个元素是完全独立的——不要复用它们”。只需添加一个具有唯一值的 key 属性即可(Vue文档原话)

<router-view :key="key"></router-view>

computed: {
  key() {
    return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date()
  }
}

使用computed属性和Date()可以保证每一次的key都是不同的,这样就可以如愿刷新数据了。

.

以上是关于vue 监听路由变化的主要内容,如果未能解决你的问题,请参考以下文章

vue 监听路由变化

从一个html跳到另一个htmlvue可以监听路由变化吗

vue中修改路由参数和监听路由参数的变化

vue中修改路由参数和监听路由参数的变化

vue 监听路由变化

从一个html跳到另一个html vue可以监听路由变化吗