在一个 Vue 应用首次加载页面时,依次会调用哪些生命周期钩子函数?请按顺序说明。
考察说明
考察对 Vue 实例生命周期钩子触发顺序的理解,特别是首次加载时的钩子序列。
回答思路
- 【回答框架 1】Vue 实例从创建到挂载会依次触发 beforeCreate、created、beforeMount、mounted 四个钩子。
- 【回答框架 2】beforeCreate 在实例初始化之后、数据观测和事件配置之前调用,此时 data 和 methods 尚未初始化。
- 【回答框架 3】created 在实例创建完成后调用,此时 data 和 methods 已可用,但 DOM 还未挂载,常用于初始化数据请求。
- 【回答框架 4】beforeMount 在挂载开始之前调用,此时模板已编译完成,但尚未渲染到页面。
- 【回答框架 5】mounted 在实例挂载完成后调用,此时 DOM 已渲染完毕,可进行 DOM 操作或集成第三方库。
- 【关键点 1】首次加载顺序:beforeCreate → created → beforeMount → mounted。
- 【关键点 2】beforeCreate 阶段无法访问 data 和 methods。
- 【关键点 3】created 阶段可以访问 data 和 methods,但不能访问 DOM。
- 【关键点 4】mounted 阶段 DOM 已可用,是进行 DOM 操作或绑定事件的最佳时机。
- 【易错点 1】不要混淆 created 和 mounted 的职责:created 主要用于数据初始化,mounted 用于 DOM 操作。
- 【易错点 2】注意 beforeCreate 中无法访问 data,这点常被忽略。
- 【易错点 3】如果使用了 keep-alive,还需要考虑 activated 和 deactivated,但首次加载仍按上述顺序。