2016-05-16 41 views
1

我没有看到关于如何使用完成的主机不(母公司注入到参考子)在ES6的例子。Angular2,如何使用@host上ES6组件

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

    } 
} 

有关我们如何实现这一点的任何想法?

回答

0

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

你可以看看Angular API以供参考。

对于主机实现你可以看看Attribute Directives实施。

更新

,你可以尝试ContentChildren装饰。

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

仅供参考,你可以检查Angular API

希望这有助于。

+0

THX。我不希望使用组件上的指令来获取相同组件的引用。我只是试图访问我的组件的父组件。 我要让它知道什么事情在孩子发生。此外,由于模板是由用户定义的(使用ng-content),所以我无法让父母直接在模板上监听儿童的事件。 – Emanuel

+0

@Emanuel:答案已经更新,你可以尝试一下儿童内容。 –