используя @viewChild в Angular 8 - PullRequest
1 голос
/ 11 июля 2019

У меня есть приложение, которое использует @ViewChild, и ниже приведен код, который у меня есть

 @ViewChild('paginator', { read: MatPaginator, static: true}) public paginator: MatPaginator;

на передней панели я использую <mat-paginator [ngStyle]="{'display': orders.length > 0 ? 'flex': 'none' }" #paginator> и я реализовал AfterViewInit, и это код, который я просто для проверки инициализации paginator:

ngAfterViewInit(): void {
    console.log('tab group', this.paginator);
}

но this.tabGroup не определена, и поэтому я не могу установить ее свойство. Что я делаю не так.

Спасибо

1 Ответ

3 голосов
/ 11 июля 2019

Поскольку у декораторов Angular 8 ViewChild и ContentChild должна быть новая опция, называемая статической.

Если вы добавите static: true к динамическому элементу (заключенному в условие или цикл), то онне будет доступен ни в ngOnInit, ни в ngAfterViewInit.

Установка его на static: false должна вести себя так, как вы ожидаете.

Кроме того, при обновлении до Angular 8,в командной строке появится сообщение, объясняющее новые изменения ViewChild и ContentChild, и ссылка на эту страницу документации , а - это запрос извлечения изменений, снекоторые объяснения.Это может помочь вам обдумать изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...