2017-02-20 67 views
0

我认为ngAfterViewInit()应该在组件的视图及其子视图被创建后调用。我对此进行了测试,发现儿童的ngAfterViewInit()在父母的ngAfterViewInit()之前被调用。这是一种预期的行为吗?我在父类中需要一个函数,它在ngAfterViewInit之后被调用。我怎样才能做到这一点?在父类中调用ngAfterContentInit - Angular 2

Regards

回答

1

是的,这是预期的行为。在之后ngAfterViewInit()被称为该视图被初始化。儿童是视图的一部分,因此儿童ngAfterViewInit()之前不能呼叫。

如果ngAfterContentInit()符合您的需求,您可以尝试,但我会重新考虑您的方法。例如,使用带有observable的共享服务来通知父母关于子女的状态。

+0

我有一个'表'组件与嵌套的表行组件和表列组件。在视图初始化之后,我想在主要组件中构建一个数组。如果ngAfterContentInit首先在父组件中初始化,我无法获得子内容 –

+0

孩子首先初始化。我发现你的问题令人困惑。请在您的问题中添加一些代码,以说明您试图完成的任务。 –