什么是钩子函数:
在组件的生命周期中,在特定阶段自动执行的函数。它们允许开发者在这些阶段插入自定义的逻辑
钩子函数有几种:
总体来说,vue里面提供了三大类钩子,两种函数:
全局钩子、某个路由的钩子、指令钩子
全局钩子:
beforeCreate:在Vue实例被创建之前调用,此时组件实例还没有被初始化。
created:在Vue实例被创建之后调用,此时组件实例已经创建,但还没有挂载到DOM上。
beforeMount:在组件挂载到DOM之前调用,此时组件实例已经完成了初始化,但还没有被渲染到页面上。
mounted:在组件挂载到DOM之后调用,此时组件实例已经完成了初始化,并且已经被渲染到页面上。
beforeUpdate:在数据更新之前被调用,此时组件还未被重新渲染。
updated:在数据更新之后被调用,此时组件已经被重新渲染。
beforeDestroy:在组件被销毁之前调用该钩子函数。
destroyed:在组件被销毁之后调用该钩子函数。
路由钩子函数:
全局的路由钩子函数:beforeEach、afterEach
组件内的路由钩子函数:beforeRouteEnter、beforeRouteLeave、beforeRouteUpdate
指令钩子函数:
一个指令定义对象可以提供如下几个钩子函数 (均为可选):
bind只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
inserted被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
update所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新。
componentUpdated指令所在组件的 VNode 及其子 VNode 全部更新后调用。
unbind只调用一次,指令与元素解绑时调用。