在Vue的源码中,很多地方用到了Hook(钩子),这个Hook是回调的意思。
在Vue-router路由中用到了钩子,如前置守卫(guard)和后置钩子那里。
// 重写(Override)前置守卫
// 前置守卫(guard)【也称前置钩子,跳转之前进行回调】
router.beforeEach((to, from, next) => {
// 从from跳转到to
// matched是一个数组,
document.title = to.matched[0].meta.title // 修改title
// console.log(to); // 查看to的对象里面有啥?
// console.log('++++');
next() // 如果没写next()的话,程序就不会往下走了
})
// 后置钩子(hook)
router.afterEach((to, from) => {
// console.log('----');
})
有人说:
中间件就是钩子,所有钩子,所有设计模式,底层都是指针
我觉得这句话是有些道理的。
来源:coderwhy老师