组件是可注入的?

时间:2016-04-08 08:28:08

标签: angular angular2-directives angular2-services

我正在尝试构建自己的Modal组件,我可以在整个Angular2应用程序中重用它。我正在考虑不同的方法,我想知道是否有可能创建@Component也可以作为@Injectable?我正在考虑这个,因为我想为Modal构建一个模板,并将其保存在一个地方。

由于

1 个答案:

答案 0 :(得分:11)

默认情况下,某个组件可以注入@Component()(或@Directive())包括@Injectable()

不要期望注入一个组件的特定实例。这适用于例如constructor(@Host() private parentComponent),其中DI查找仅限于父注入器直到主机元素的注入器。

通常对于您的用例DynamicComponentLoader,它只接受组件的类型,而不是实例。依赖注入只会创建组件类的实例,但不会创建关联的视图。