在开发项目的时候,需要监听一下路由的变动,来触发某些操作,但是网上说的好多教程基本都是通过watch来监听,当然这个也可以解决我们的需求,今天主要来介绍一个新朋友 onBeforeRouteUpdate

使用 onBeforeRouteUpdate
添加一个导航守卫,在当前位置即将更新时触发。

import { onBeforeRouteUpdate } from "vue-router";
onBeforeRouteUpdate(to => {
      console.log(to, "路由变动");
});

补充知识
onBeforeRouteLeave
添加一个导航守卫,在当前位置的组件将要离开时触发。

//使用组件内守卫,对离开页面事件做一些操作,
beforeRouteLeave(to, from, next){
	if(from.path=='/b'){ //当前页面路由
		next({replace: true,redirect: '/a'}); //目标路由 重定向
	}else {
	next()
	}
}
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐