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



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

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

你知道我们如何才能做到这一点吗?

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

您可以参考Angular API。

对于主机实现,您可以查看属性指令实现。

更新

你可以试试ContentChildren装饰器。

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

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

最新更新