vue路由监听

2020-12-30  本文已影响0人  Iam品种

一般都知道使用

watch:{
    $route(to,from){
      console.log(from.path);//从哪来
      console.log(to.path);//到哪去
    }
}

方式进行路由切换

但是:

上面的方式只能针对子路由变换能监听到,也就是#/parent/child/类型的路由,当child或者其后的路由变化时才能触发该监听,parent变化时是监听不到的

那如何才能监听到parent的变化

其实很简单,使用vue的生命周期即可:
在vue的created周期中使用

this.$router.beforeEach((to, from, next) => {
    console.log(to);
    next();
});
// next()必须要调用,否则将不会进行跳转!!!

进行监听即可。
即完整的写法为:

created() {
  this.$router.beforeEach((to, from, next) => {
    console.log(to);
    next();
  });
  // next()必须要调用,否则将不会进行跳转!!!
}
上一篇 下一篇

猜你喜欢

热点阅读