如果父组件具有相同组件的两个子组件,则调用子组件的方法

时间:2017-04-20 23:29:52

标签: angular typescript

https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#parent-to-view-child

所以根据“官方”文档,子组件的调用方法可以在父类的内部使用:

@ViewChild(CountdownTimerComponent)
private timerComponent: CountdownTimerComponent;

并且正在做

timerComponent.methodName()

那么如果父组件使用两个CountDownTimerComponent并且只想调用timerComponentNumber1.methodName()呢?

假设开发人员想要调用ParentClass中的方法而不是模板

1 个答案:

答案 0 :(得分:1)

您需要使用@ViewChildren代替

@ViewChildren(CountdownTimerComponent)
private timerComponents: QueryList<CountdownTimerComponent>;

您可以迭代timerComponents并调用您想要的方法;或做这样的事情:

this.timerComponents.toArray()[0].someMethod();

以下是对the documentation的引用。