vue的created和mounted区别

在Vue.js中,created和mounted的核心区别在于调用时机和DOM可访问性‌:created钩子在组件实例创建后、DOM挂载前调用,适用于数据初始化;mounted钩子在DOM挂载后调用,支持DOM操作。‌‌

‌调用时机与核心能力对比‌

‌created钩子‌。

触发时机:组件实例已创建完成,数据观测(data)、计算属性(computed)、方法(methods)等已初始化,但模板尚未编译,‌DOM元素($el)未生成‌。‌‌

典型用途:初始化非DOM相关数据(如API请求)、设置定时器或事件监听等。‌‌

‌mounted钩子‌。

触发时机:组件模板已渲染为真实DOM节点,‌可通过 e l 或 el或 el或refs操作DOM‌。‌‌

典型用途:初始化依赖DOM的第三方库(如图表、地图)、动态修改DOM结构、访问子组件等。‌‌

‌可访问属性对比‌

功能 created mounted

访问data数据 ✅ ✅

操作DOM ❌ ✅

使用$refs引用元素 ❌ ✅

$el属性可用性 ❌ ✅

‌使用场景建议‌

‌优先使用created的场景‌:

初始化数据(如通过API获取初始列表)。‌‌

设置非DOM交互的逻辑(如定时任务、全局事件总线监听)。‌‌

‌必须使用mounted的场景‌:

需要操作DOM元素(如调整元素尺寸、绑定滚动事件)。‌‌

初始化依赖DOM的插件(如ECharts图表渲染)。‌‌

相关推荐
wen's30 分钟前
React Native 0.79.4 中 [RCTView setColor:] 崩溃问题完整解决方案
javascript·react native·react.js
vvilkim1 小时前
Electron 自动更新机制详解:实现无缝应用升级
前端·javascript·electron
vvilkim1 小时前
Electron 应用中的内容安全策略 (CSP) 全面指南
前端·javascript·electron
aha-凯心1 小时前
vben 之 axios 封装
前端·javascript·学习
漫谈网络1 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
失落的多巴胺3 小时前
使用deepseek制作“喝什么奶茶”随机抽签小网页
javascript·css·css3·html5
DataGear3 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
影子信息3 小时前
vue 前端动态导入文件 import.meta.glob
前端·javascript·vue.js
青阳流月3 小时前
1.vue权衡的艺术
前端·vue.js·开源
RunsenLIu3 小时前
基于Vue.js + Node.js + MySQL实现的图书销售管理系统
vue.js·mysql·node.js