Angular 6延迟加载ngOnInit是否在绘制DOM之前发生?

时间:2018-08-08 17:49:42

标签: angular

因此我的代码中出现了一些问题,并试图调试该问题,我正在回溯当前的检入操作,并发现实现了对路由选择的延迟加载。

以前,我是在ngOnInit()上使用nativeElement.clientWidth和clientHeight确定页面上某些项目的位置,但是在实现延迟加载之后,在ngOnInit()上,clientWidth和clientHeight均为0。

所以我猜我们的代码在绘制DOM之前就已启动。这是应该如何进行延迟加载的吗?如果是这样,我该如何解决?

1 个答案:

答案 0 :(得分:1)

ngOnInit生命周期钩子实际上是第一个ngOnChanges,并在呈现DOM之前触发,这是设计使然,您可以通过在其中放置debugger;来解决它。

如果要基于渲染的页面计算内容,则需要使用ngAfterViewInit生命周期挂钩