BFE.devAI解答 - 前端面试问题
30. 请说明Vue instance的生命周期
Vue instance的生命周期可以分为八个阶段:
-
**创建阶段(creation):**在这个阶段,Vue实例正在被创建,它的各种属性和方法正在被初始化。包括调用
beforeCreate()
和created()
钩子函数。 -
**挂载阶段(mounting):**在这个阶段,Vue实例将会被挂载到页面中,渲染DOM。包括调用
beforeMount()
和mounted()
钩子函数。 -
**更新阶段(updating):**在这个阶段,Vue实例的状态正在发生改变,从而导致DOM的重新渲染。包括调用
beforeUpdate()
和updated()
钩子函数。 -
**销毁阶段(destruction):**在这个阶段,Vue实例将被销毁,所有的事件监听器和定时器也会被移除。包括调用
beforeDestroy()
和destroyed()
钩子函数。 -
**错误处理阶段(error capture):**在这个阶段,如果有任何未捕获的错误被触发,那么它们将会被传播到Vue实例中进行处理。包括调用
errorCaptured()
钩子函数。 -
**渲染函数阶段(render function):**在这个阶段,Vue会通过render函数把模板编译为虚拟DOM。包括调用
render()
和renderError()
钩子函数。 -
**依赖收集阶段(dependency collection):**在这个阶段,Vue会根据数据变化来收集依赖,建立响应式系统。包括调用
beforeRender()
钩子函数。 -
**函数式组件阶段(functional composition):**在这个阶段,Vue会在渲染函数中处理函数式组件。包括调用
functionalRenderContext()
钩子函数。
一般来说,我们不需要理解这些阶段的具体细节。在开发中,你只需要知道在什么时候调用哪些钩子函数,以及如何在不同的生命周期阶段中处理数据和操作DOM。