如何检查Angular2中加载的元素?

时间:2018-05-16 04:45:23

标签: angular

我希望获得divArea的高度并将其存储在scrollTop变量中 但是,当我在onInit函数中初始化scrollTopthis.divArea.nativeElement.offsetHeight时,发生了错误 错误是divArea为空。 一种解决方法是使用setTimeout().
但我不想使用settimeout() 如何解决这个问题?

HTML

<div #divarea>
  <p>Hello1</p>
  <p>Hello1</p>
  <p>Hello1</p>
  <p>Hello1</p>
</div>
<div [style.top.px]="scrollTop">
  ...
</div>

TS

export class test implements OnInit {
  public scrollTop: number;
  @ViewChild('divarea') private divArea: ElementRef;
  public ngOnInit() {
    this.scrollTop = this.divArea.nativeElement.offsetHeight; // result: error
  }
}

1 个答案:

答案 0 :(得分:0)

使用此 -

ngAfterViewInit() {
    this.scrollTop = this.divArea.nativeElement.offsetHeight; // result: error
  }
  • 您可以在角度的(#divArea)挂钩中使用本地变量ngAfterViewInit

  • 同样@View Child应为@ViewChild,且不得有任何空格。

  • <div #divarea">应为<div #divarea>

Working Example