Вам необходимо использовать хук жизненного цикла AfterViewInit, поскольку представление не полностью инициализировано в NgOnInit, а высоты еще не будут рассчитаны.
ngAfterViewInit() {
let parentHeight = this.self.nativeElement.offsetParent.clientHeight;
}
Лучшим способом было бы написать директиву, которую вы можете поместить в родительский элемент, который выводит ширину с помощью источника событий, а затем отправить эту ширину дочернему элементу в качестве входных данных. Мне не всегда повезло, когда я считал вычисленные свойства из «offsetParent» на nativeElement.
Редактировать - используя родителя в качестве ввода
@Input() parent : HTMLElement;
ngAfterViewInit() {
console.log(this.parent.clientHeight);
}