Что я делаю
У меня есть компонент, который скрывает/показывает с помощью *ngIf на основе простого булева. Когда компонент становится видимым, я хочу применить фокус к дочернему элементу внутри его шаблона.
Проблема
Если я переворачиваю логическое значение, компонент показывает правильно, но если я попытаюсь получить ссылку на дочерний элемент, используя this._elRef.nativeElement.querySelector("div#test"), он просто вернется null. Если я подожду несколько секунд, то тот же код вернет ссылку на элемент, как я ожидал.
Спекуляция
Я предполагаю, что после переброса Boolean angular проходит весь цикл рендеринга, чтобы показать вновь видимый компонент, и что это еще не закончилось к моменту, когда я применил querySelector() в следующей строке.
Что я хотел бы знать
Так что мне интересно, как я могу быть уверен, что мой ngIf вступил в силу, а элементы - в DOM, который нужно выбрать?
Есть ли такая вещь, как обратный вызов для ngIf или может Я заставляю представление обновлять и получать обратный вызов из этого?
Надеюсь, это имеет смысл. Это был долгий день (долгая неделя), и я очень устал.
Спасибо всем
Если это помогает, я использую Angular2 v2.0.0-beta.15