码迷,mamicode.com
首页 > 其他好文 > 详细

vue 监听路由变化

时间:2018-04-06 13:56:58      阅读:515      评论:0      收藏:0      [点我收藏+]

标签:path   声明   cti   route   return   and   不同的   strong   gpo   

方法一:通过 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 监听路由变化

标签:path   声明   cti   route   return   and   不同的   strong   gpo   

原文地址:https://www.cnblogs.com/crazycode2/p/8727410.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!