Angular 2指令语法

时间:2016-03-13 00:05:10

标签: dependency-injection angular

有人可以从外部模板(未在组件装饰器中声明内联)中澄清此语法(特别是* mycomponent):

<my-component *mycomponent><my-component>

它只是将组件注入外部html视图/模板的简便方法吗?基本上,我问的是它是否相当于注入&#39; SubComponent&#39;以下内联模板中的指令:

@Component({
  selector: 'my-component',
  directives: [SubComponent],
  template: `
    ...
  `
}) 

1 个答案:

答案 0 :(得分:0)

实际上*字符是应用结构指令的方式,并且是以下的快捷方式:

<template mycomponent>
  <my-component></my-component>
</template>

要应用此指令,您需要使用要使用它的组件的directives属性来定义它...

这种指令将以这种方式实施。参见NgIf的样本:

具体是您可以注入相应的TemplateRef和ViewContainerRef来管理相关模板的内容。在NgIf指令的上下文中,它只是在DOM中呈现或不呈现此内容。

有关结构指令的详细信息,请参阅此Soc: