Angular2,如何在ES6组件上使用@Host

时间:2016-05-16 15:25:32

标签: dependency-injection angular

我没有看到如何在ES6中使用完成主机所做的事情(将父级引用注入到孩子中)的示例。

@Component({ ... })
class PlayButton {
  constructor(@Host() playerService: PlayerService) {

  }
}

关于我们如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

有一个Host变量,可以与任何指令一起使用。不确定是否有@Host decorator。 此外,如果您必须注入一些服务,您可以在组件装饰器中使用providers

您可以查看Angular API以供参考。

对于Host实现,您可以查看Attribute Directives实现。

<强>更新

您可以尝试使用ContentChildren装饰器。

 @Directive({
   selector: 'someDir'
 })
 class SomeDir {
   @ContentChildren(ChildDirective) contentChildren: QueryList<ChildDirective>;
   ngAfterContentInit() {
    // contentChildren is set
   }
 }

作为参考,您可以查看Angular API

希望这有帮助。