vue3组件路由守卫

beforeRouteEnter路由守卫写在setup函数外面。路由到这个地址前执行,因此里面不能用this,可以用vm挂载元素上去
beforeRouteEnter: (to, from, next) => {
    next(vm => {
      // 第一次登陆显示公告
      if (from.name === 'Login') {
        vm.message = 'test'
      }
   })
  },
setup () {
  const message = ref()
}

 

onBeforeRouteLeave用于路由离开前,销毁或者弹出确认离开提示框等用处,需从vue-router引用

import { onBeforeRouteLeave } from 'vue-router'
 
setup () {
  onBeforeRouteLeave(() => {
    notification && notification.destroy()
  })
}
posted @ 2021-11-17 16:12  jhonor  阅读(4152)  评论(0编辑  收藏  举报