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()
})
}