получаю данные, после получения устанавливаю loading = false, далее запускаю detectChanges() и дальше обращаюсь к iframe, а там undefined. Как это пофиксить?
как iframe объявлено в компоненте?
ngAfterInit или както там
@ViewChild('iframe', { static: false }) iframe: ElementRef<HTMLIFrameElement>;
ну вот оно должно прилететь на afterViewChecked или куда то там :)
afterViewCheckedвызывается много раз, а мне нужно только один)
ну... не мудрено, потому что шаблон динамически вычисляется
создай setter
в afterViewInit undefined
потому-что у тебя ngIf
пробовал и с сеттером
https://stackoverflow.com/questions/39366981/viewchild-in-ngif
у него там сначала false :)
кстати через setter отличная идея
Та я хз, что за задача))
Мне кажется нет
Вот так почему-то, но если серьезно, зачем нам сеттер, без геттер?)
что бы выловить момент, когда устанавливается iframe, если нужен геттер, добавьте getter, в чем проблема?)
Соглы, сеттер будет дёргаться только в случае появления iframe в шаблоне, а afterViewChecked будет отрабатывать постоянно при изменении дочерних компонентов
Как будто звучит все не очень, не думаете?
Кстати, интересно, а есть какая-нибудь конвенция или негласное правило, что для сеттера обязателен геттер?
https://angular.io/api/core/ViewChild#description Гуглу об этом расскажите
Можно ли считать жс нелогичным, если он позволяет создать сеттер без геттера?
не работает и с сеттером
Да бывают кейсы когда нужно такое, нормально всё
Гугл - корпорация зла🌚
а что консоль в сеттере показывает?
QueryList https://stackoverflow.com/questions/50375156/angular-listen-on-viewchild-changes
два раза undefined
ngIf то в true?
Обсуждают сегодня