一、什么是导航守卫
导航守卫就是,监听你从一个路由跳转到另外一个路由 ,有了导航守卫,你就可以在跳转之前或者跳转之后做一些事情
二、全局导航守卫
/ 前置守卫(guard)
router.beforeEach( //监听守卫
(to, from, next) => {
//从form跳转到to
document.title = to.meta.title //document.title = to.matched[0].meta.title 嵌套路由这里有两种方式,第一种直接拿嵌套路由,第二种拿嵌套路由的父路由
next()//这里的next是必须调用的
})
//后置钩子(hook) 后置钩子不需要主动调用next函数(因为此时已经跳转完了,不需要进行后续操作)
router.afterEach((to,form)=>{
console.log('dasdsdasda')
})
//关于next ,next()进行管道中的下一个钩子,如果全部钩子执行完毕,则导航的状态就是confirmed(确认)
next('./')//或者next({path:'/'})//跳转到一个不同的地址,当前的导航被中断,进行一个新的导航
//要确保使用next方法,否则钩子不会被resolved
//还有路由独享守卫
//写在路由配置中,只有访问到这个路径,才能触发钩子函数
//组件内的守卫
//写在组件中,访问路径,即将渲染组件的时候触发的
三、路由独享守卫 和全局守卫类似,但是它只在某一个路由中起作用
四、组件内的守卫(等后续更新)
五、类似的,与守卫有着相似功能的还有我们的生命周期函数
created mounted updated