ViewChild или локальная ссылка на внешний компонентный модуль npm - PullRequest
1 голос
/ 27 марта 2020

Я использую SimpleBar (https://www.npmjs.com/package/simplebar-angular) в моем проекте.

Поскольку я хотел бы изменить некоторые стили этого компонента, поэтому я добавил локальную ссылку в шаблон,

<ngx-simplebar [options]="simpleBarOptions" #simplebar></ngx-simplebar>

и viewchild, как это в моем файле Typescript:

@ViewChild('simplebar') simplebar: ElementRef;

Однако, когда я пытаюсь войти в консоль с этим кодом. Возвращает неопределенное. Это почему? Если я локально ссылаюсь на <div> напрямую, то он работает нормально.

  ngAfterViewInit() {
    console.log('log: ' + this.simplebar.nativeElement);
  }

Код компонента, который я вижу в Chrome (режим F12), выглядит следующим образом:

<ngx-simplebar _ngcontent-opy-c3="" data-simplebar="init" ng-reflect-options="[object Object]">
  <div class="simplebar-wrapper" style="margin: 0px;">
  ......
  </div>
</ngx-simplebar>

Большое спасибо!

Ангус

1 Ответ

0 голосов
/ 31 марта 2020

попробуйте это:

@ViewChild(SimplebarAngularComponent, { static: false }) simplebar: ElementRef<SimplebarAngularComponent>;
...