有人可以从外部模板(未在组件装饰器中声明内联)中澄清此语法(特别是* mycomponent):
<my-component *mycomponent><my-component>
它只是将组件注入外部html视图/模板的简便方法吗?基本上,我问的是它是否相当于注入&#39; SubComponent&#39;以下内联模板中的指令:
@Component({
selector: 'my-component',
directives: [SubComponent],
template: `
...
`
})
答案 0 :(得分:0)
实际上*字符是应用结构指令的方式,并且是以下的快捷方式:
<template mycomponent>
<my-component></my-component>
</template>
要应用此指令,您需要使用要使用它的组件的directives属性来定义它...
这种指令将以这种方式实施。参见NgIf的样本:
具体是您可以注入相应的TemplateRef和ViewContainerRef来管理相关模板的内容。在NgIf指令的上下文中,它只是在DOM中呈现或不呈现此内容。
有关结构指令的详细信息,请参阅此Soc: