如何在单个变量中访问子组件的属性和方法?

时间:2019-06-28 05:20:27

标签: angular viewchild data-sharing

我有一个父组件和多个子组件。

height: -moz-calc(100vh -46px );

为了在亲子之间进行交流,我可以使用事件装饰器<parent> <child1></child1> <child2></child2> ... </parent> 。另外,我可以像下面那样使用多个(@Input/@Output)来访问子属性和方法。 (不考虑服务和可观察对象)

@ViewChild

我不想使用事件装饰器以及多个@ViewChild来存储每个子组件的引用。

在角度上是否有类似于@ViewChild的方式,我可以在一个变量中获取所有子对象的引用,并且可以迭代到该变量以访问每个子对象的属性和方法?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您的意思是子代是相同的组件,则不是,例如,您确实有多个组件实例,例如:

<some-container>
  <app-child></app-child>
  <app-child></app-child>
  <app-child></app-child>
</some-container>

然后您可以通过@ViewChildren装饰器将它们全部获取,如下所示:

@ViewChildren(AppChildComponent) public QueryList<AppChildComponent>;

您可以使用QueryList中存在的'forEach'方法进行迭代。