ngЕсли не сразу загрузить шаблон при ложном - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть компонент, который будет загружать видео с 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 шаблон загружается.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Спасибо за помощь, ребята. Как обычно, проблема была намного проще, чем первоначально предполагалось. На более высоком уровне компетентности был фактически холст, занимающий ту же область, которую должен был занимать текст. Интересно, что при поиске ключевого текста в инструментах с хромированными элементами текст выводился на передний план. Это заставило нас думать, что это была угловая проблема рендеринга. Просто немного неясного Gotcha.

0 голосов
/ 08 апреля 2019

Loadyoutube всегда имеет значение?Вы инициируете это в конструкторе или в ngOnInit?

Y тем временем попробуйте использовать стратегию по умолчанию, я думаю, что onPush может вызвать проблемы в вашем случае.

...