动态组件(Component)
1. 直接切换原生标签和组件定义
这里显式导入并使用 <Component>,is 可以在字符串标签名和函数组件之间来回切换。
当前 is: article
验证点:native element、直接组件定义、children 透传。
说明:切到 SalesCard 时,tone 也会跟着透传给目标组件。
2. 编译期有限组件注册表
下面这个小区域为 <Component> 显式提供有限 registry,编译器可以提前确定所有 可能的组件工厂。
运行时注册
CardView
metric 键在有限 registry 中解析到 RegisteredMetric
children 一样会透传
registry 直接写在 <Component> 上,不依赖全局字符串注册或运行时工厂查找。
编译器会把 registry 降为有限分支,再决定最终渲染哪个组件。
这也顺带验证了字符串名路径下的 children 透传。
注意:如果 is 最终解析成原生 input、select、textarea 之类的节点,写在 <Component> 上的 v-model / r-model 不能像静态原生标签那样在编译期展开,应该在最终原生节点处处理。