0

我需要在指令中获取 ElementRef 值以动态地将类应用于元素。

我的指令:

import { Directive, ElementRef, Renderer2 } from '@angular/core';

@Directive({
  selector: '[scrolling]'
})

export class ScrollingDirective {

  constructor(public renderer: Renderer2, public el: ElementRef) {
    console.log(this.el);
    console.log(this.el.nativeElement.scrollWidth);
    if (el.nativeElement.scrollWidth > el.nativeElement.clientWidth) {
      this.renderer.addClass(el.nativeElement, 'scrollear');
    }  
  }

}

然后我将指令分配给 DOM 的元素:

<ion-label scrolling>hello world</ion-label>

问题是在指令的构造函数中我无法接收元素的值,但是,使用 console.log 我可以正确看到值,但我无法获取它们。

我需要检索这些值,但是在引用它们时值为 0。

控制台.log(this.el);

4

1 回答 1

0

我认为您无法在构造函数中获取值,因为它尚未呈现。尝试访问它们ngAfterViewInit

于 2020-02-19T03:01:39.753 回答