У меня есть компонент, который будет загружать видео с YouTube, когда истина. Однако, когда оператор ngIf оценивает слишком ложно, шаблон не загружается. Контекст для проблемы заключается в том, что я пытаюсь условно визуализировать div, когда блокировщик рекламы блокирует видео на Youtube, просто чтобы сообщить пользователю, почему контент не загружается, а не имеет белого поля. У меня есть созданный сервис, который возвращает логическое значение, и я уверен, что он работает. Интересно, что когда я ищу соответствующий текст в фильтре элементов инструментов Chrome, запускается загрузка шаблона.
До сих пор я пытался поместить ссылки на обнаружение изменений в различные жизненные циклы. без особой удачи. Я опираюсь на компонент, который был изначально написан кем-то другим. Он реализует стратегию обнаружения изменений onPush. Я не уверен, если это создает проблемы.
<div *ngIf='loadYoutube; else loadError'>
<iframe [width]="width"
[height]="height"
[src]="src | safe:'url'"
frameborder="0"
allowfullscreen
class="youtube-player">
</iframe>
</div>
<ng-template #loadError>
<p>
Turn Yo ad blocker off please
</p>
</ng-template>
В настоящее время, когда loadYouTube оценивается как true, он работает как положено. При значении false появляется белая коробка. Как уже упоминалось, при поиске по ключевым словам на вкладке элементов инспектора Chrome шаблон загружается.