верстки показывается по окончанию загрузки данных *ngIf="!(loading$ | async)", в этой части есть блок с шаблонной переменной, по которой я бы получил этот блок вот так @ViewChild(mySelector, {static: false}) htmlBlock: ElementRef в хуке ngAfterViewInit, если бы не было никаких структурных директив *ngIf. Я подумал, что могу по подписке на окончание загрузки получить этот блок, однако он undefined, как быть в таком случае?
Использовать сеттер для viewchild
спасибо, сейчас попробую
Как для @Input делают иногда
а что это дает? что-то пока не получился нужный эффект)
Сеттер должен ввязываться при changedetection
this.fiasSearchComponent - это обычный div, который я получаю через @ViewChild с сеттером (и в этом div я рендерю свой компонент), однако без delay() пайп оператора видимо не успевает ничего задетектиться, а с delay() костылем возможно даже сеттер не нужен
это нужно делать в автервьюинит
это и так в автервьюинит, однако сам блок, который я хочу получить через @ViewChild рендерится в зависимости от loading$ структурной директивой *ngIf
ты так делал? @ViewChild('contentPlaceholder') set content(content: ElementRef) { if(content) { // initially setter gets called with undefined this.contentPlaceholder = content; }
не совсем), сейчас попробую так
не помогло, я не делал до этого проверку content
укажи еще что ты читаешь, read: ElementRef, после static
https://stackoverflow.com/questions/39366981/viewchild-in-ngif
спасибо) решение похоже на delay(), видимо придется пока так сделать, другого выхода пока не вижу
Обсуждают сегодня