resolveComponent() 按名字解析组件
最后更新:2026-10-22
resolveComponent() 按名字解析组件
resolveComponent() 在渲染函数里按注册名解析组件:拿到组件定义后即可用 h() 渲染它。
| 分组 | 渲染函数与 SSR |
|---|---|
| 类型 | API |
| 作用域 | 组件内 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
const Comp = resolveComponent("my-button")
return h(Comp, null, "点击")
⚙️ 参数
| name | 组件注册名(字符串,大小写需匹配) |
|---|
返回值:组件定义(找不到时返回字符串名并警告)
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
渲染出按钮,文字为「来自 render 的按钮」。
💡 要点
ℹ️ 说明 只在渲染函数里需要:模板编译器会自动解析组件名。
💡 提示 通常直接 import 组件并用 h(Comp) 更明确;按名解析适合动态/全局注册场景。
⚠️ 注意 名字未注册时返回原字符串,会渲染成原生标签并警告。
🏷️ 相关渲染函数与 SSR
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q 为什么不直接 import?
A 动态名字场景(配置驱动)无法静态 import,按名解析是唯一路径。
Q 大小写敏感吗?
A 是,需与注册名一致(kebab-case 常见)。
Q SSR 环境能用吗?
A 可以,解析是运行时的同步操作。