首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular 9在ngAfterViewInit生命挂钩上返回的元素高度不正确

Angular 9在ngAfterViewInit生命挂钩上返回的元素高度不正确
EN

Stack Overflow用户
提问于 2020-05-10 17:47:23
回答 1查看 403关注 0票数 1

我正在尝试获取标题的高度,在ngAfterViewInit生活挂钩。Chrome说高度是172px(这是正确的),但我的代码说高度是142px(有时是140px)。

Headercomponent.ts

代码语言:javascript
运行
复制
import { Component, ElementRef, ViewChild, AfterViewInit} from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css']
})
export class HeaderComponent implements AfterViewInit{

@ViewChild('headerIdentifier', {read: ElementRef, static:true}) elementView: ElementRef;
contentHeight: number;

ngAfterViewInit(): void {
   this.contentHeight = this.elementView.nativeElement.offsetHeight;
   console.log(this.contentHeight)
 }
}

appcomponent.html

代码语言:javascript
运行
复制
<div class="main_wapper">
<app-header></app-header>
<app-baner></app-baner>
<section class="contentPart defineFloat">
<router-outlet></router-outlet>
</section>
<app-footer></app-footer>
</div>

appcomponent.ts中没有代码。只是简单的组件类。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-22 01:06:54

所以,在对angular文章进行了大量的研究之后。我现在得想个办法了。

代码语言:javascript
运行
复制
  setTimeout(() => { this.contentHeight = this.elementView.nativeElement.offsetHeight;
  console.log(this.contentHeight) }, 1000 )

我在ngAfterViewInit上等了1秒钟&它就像一个护身符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61709977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档