组件是可注射的?

ale*_*ski 11 angular2-directives angular2-services angular

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

谢谢

Gün*_*uer 11

默认情况下@Component()(或@Directive())包含组件是可注入的@Injectable().

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

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

  • @drewmoore 确切地说,这就是我在回答(第二段)中试图解释的内容。 (2认同)