角度检测组件的DOM完成渲染的时间

时间:2020-11-06 16:47:23

标签: javascript angular typescript rxjs

我已经搜索了很长时间,但是我找不到一个好的解决方案。 组件的DOM完成渲染后,我必须触发一个函数/事件。 我需要访问组件的高度,因此ngAfterViewInit无法正常工作,因为在渲染DOM之前调用了该方法。 我尝试了ngAfterViewChecked,但这多次被调用。由于要执行的功能是包装器应用程序的一部分,因此我也无法访问它,而且我绝对需要确保仅将其触发一次。我当时正在考虑将ngAfterViewChecked与某种反跳一起使用,但是这种感觉(可能是错误的)。 替代方法是在ngFor循环到达最后一项时从模板触发功能。再次,那感觉很不对。

任何输入都值得赞赏

1 个答案:

答案 0 :(得分:0)

我通过使用ngAfterViewChecked解决了这个问题。每次检查时,我都会得到组件主体的scrollHeight。在它呈现之前,它将为0,所以检查一下scrollHeight属性是否有变化,适用于我的用例。

感谢所有评论,实际上让我想到了这个解决方案