面试题答案
一键面试- 触发顺序:
- 父组件
beforeCreate
- 父组件
created
- 父组件
beforeMount
- 当
v - if
条件为真,开始加载子组件:- 子组件
beforeCreate
- 子组件
created
- 子组件
beforeMount
- 子组件
mounted
- 子组件
- 父组件
mounted
- 子组件异步数据获取完成:
- 子组件
updated
- 子组件
- 父组件
- 解释:
- 父组件生命周期先启动:
- 父组件在初始化时,按照
beforeCreate
(此时组件实例刚被创建,数据观测和事件机制未初始化)、created
(数据观测和事件机制已初始化,可访问数据和方法,但DOM未挂载)、beforeMount
(虚拟DOM已创建完成,即将挂载到真实DOM)的顺序执行。
- 父组件在初始化时,按照
- 子组件加载时生命周期执行:
- 当
v - if
条件满足,开始创建子组件实例。子组件同样按照beforeCreate
、created
、beforeMount
的顺序执行,在mounted
钩子中,子组件已经挂载到真实DOM,此时子组件完成挂载。
- 当
- 父组件挂载完成:
- 子组件挂载完成后,父组件继续执行
mounted
钩子,此时父组件挂载到真实DOM。
- 子组件挂载完成后,父组件继续执行
- 子组件数据更新:
- 子组件异步获取数据,数据更新后会触发
updated
钩子,因为数据变化导致组件重新渲染。
- 子组件异步获取数据,数据更新后会触发
- 父组件生命周期先启动: