vue-router有哪几种导航钩子( 导航守卫 )?
-
三种导航钩子:
1.全局导航钩子:router.beforeEach(to,from,next) 作用:跳转前进行判断拦截
2.组件内的钩子
3.单独路由独享组件 -
共有三种守卫:
1:全局守卫:beforeEach,afterEach
2:路由独享守卫:beforeEnter
3:组件级别的守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave
他们执行顺序:全局》路由》组件
除了afterEach全局后置外,其他的守卫中务必要调用next(),否则无法完成导航
还有注意全局前置守卫可以用来进行拦截,(登录拦截) -
-
???什么意思…------------------ 原始邮件 ------------------ 发件人: "LQY-3777"<notifications@github.com>; 发送时间: 2019年11月27日(星期三) 凌晨0:04 收件人: "haizlin/fe-interview"<fe-interview@noreply.github.com>; 抄送: "Coisini"<809467603@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [haizlin/fe-interview] [vue] vue-router有哪几种导航钩子( 导航守卫 )? (#415) ickt-5: https://www.cnblogs.com/kzxiaotan/p/11676872.html — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
-
- 全局:
beforeEach((to, from, next) => {调用next来resolve这个钩子} ),
beforeResolve((to, from, next) => {} ),
afterEach((to, from) => {} ) - 路由独享:
beforeEnter((to, from, next) => {} ), - 组件内部:
beforeRouteEnter((to, from, next) => {next可以传回调,回调里面可以用vm访问实例} ), 内部没有this,因为路由还没confirm
beforeRouteUpdate((to, from, next) => {}),可以拿到this
beforeRouteLeave((to, from, next) => {})
- 全局: