组件的创建与挂载

#创建顺序(以el-form表单为例)

复制代码
// 你的模板
<el-form ref="formRef" :model="form" :rules="rules">
  <el-form-item label="用户名" prop="username">
    <el-input v-model="form.username" />
  </el-form-item>
  <el-form-item label="密码" prop="password">
    <el-input v-model="form.password" type="password" />
  </el-form-item>
</el-form>

// 对应的虚拟 DOM 树
{
  type: 'el-form',
  props: { model: form, rules: rules },
  children: [
    {
      type: 'el-form-item',
      props: { label: '用户名', prop: 'username' },
      children: [{ type: 'el-input', props: { modelValue: form.username } }]
    },
    {
      type: 'el-form-item', 
      props: { label: '密码', prop: 'password' },
      children: [{ type: 'el-input', props: { modelValue: form.password, type: 'password' } }]
    }
  ]
}

// 组件创建顺序(从父到子):

created (form) → created (form-item) → created (input)

#挂载顺序

复制代码
一次性转换为真实DOM                                  
│    <form class="el-form"> (真实)                        
│    ├── <div class="el-form-item"> (真实)                
│    │   └── <div class="el-input"> (真实)                
│    └── <div class="el-form-item"> (真实)                
│        └── <div class="el-input"> (真实)    

mounted (input) → mounted (form-item) → mounted (form)

// 注意:子组件先 mounted,父组件后 mounted

相关推荐
我命由我123451 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
抱抱宝2 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
用户938515635072 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
java1234_小锋4 小时前
Vue3专题 - 组件基础
vue.js·vite
Heo6 小时前
大厂前端调试不能只会debugger
前端·javascript·面试
windliang7 小时前
Claude Code 源码分析(十二):错误处理与自动恢复:让 Agent 稳定运行
前端·javascript·面试
默_笙7 小时前
🛬 前端路由的"高级玩法":懒加载、404、鉴权路由,一个都不能少(下篇)
前端·javascript
sunly_7 小时前
TypeScript:3、类型声明与类型推断
javascript·ubuntu·typescript
奥莱维9 小时前
【无标题】
java·前端·javascript
阿懂在掘金9 小时前
同一份弹窗我重构了三次:从 v-model 地狱到路由式调用,终于治好了模板臃肿
前端·vue.js·前端框架