中等
技术面试0 次浏览请描述一下 Vue.js 中的生命周期钩子函数,并说明 `mounted` 和 `created` 钩子的区别。
前端工程师
Vue.js生命周期钩子
答题要点
Vue.js 的生命周期钩子函数是在 Vue 实例从创建到销毁的整个过程中特定阶段执行的函数。主要的生命周期钩子包括 `beforeCreate`、`created`、`beforeMount`、`mounted`、`beforeUpdate`、`updated`、`beforeDestroy`、`destroyed` 等。`created` 钩子在实例已经创建完成之后被调用,此时数据观测、`property` 和 `method` 的计算、`watch/event` 事件回调已经完成。也就是说,在 `created` 钩子中可以访问到数据和方法,但此时 DOM 还未挂载。例如,可以在 `created` 钩子中进行数据的初始化请求,因为此时实例已经具备了访问数据和方法的能力。`mounted` 钩子在挂载完成后调用,此时模板已经编译成 HTML 并插入到页面中,DOM 已经渲染完成。可以在 `mounted` 钩子中进行一些需要操作 DOM 的任务,比如使用第三方库操作 DOM 元素。总的来说,`created` 侧重于数据的初始化和异步请求,而 `mounted` 侧重于 DOM 操作。