У меня проблема с моим приложением AngularJS 2 (я использую RC5 версию AngularJS 2). Кажется, что очищенный URL-адрес запускает обнаружение изменений, которое затем обновляет div
ниже, несмотря на отсутствие изменений в состоянии моего компонента.
С точки зрения пользователя это проявляется как перезагрузка видео во время воспроизведения.
Итак, в моем представлении компонентов у меня есть:
<div *ngIf="isVideo(item)">
<iframe [src]="getTrustedYouTubeUrl(item)" scrolling="no" frameborder="0" allowfullscreen></iframe>
</div>
Реализация указанной выше функции в коде компонента:
getTrustedYouTubeUrl(linkedVideo:LinkedVideoModel) {
return this.sanitizer.bypassSecurityTrustResourceUrl(linkedVideo.video.url);
}
В отладчике я вижу, что div часто обновляется, что-то срабатывает в ракурсе AngularJS 2.
Проблема исчезнет, если я заменил фрагмент HTML выше на жестко закодированный URL:
<div *ngIf="isVideo(item)">
<iframe src="<hardcoded youtube url here>" scrolling="no" frameborder="0" allowfullscreen></iframe>
</div>
Таким образом, я подозреваю, что причиной этого является сатинирование URL.
Может ли кто-нибудь указать мне в правильном направлении? Рабочий пример встроенных видеороликов YouTube, имеющих свой URL-адрес, привязанный к свойству на компоненте, может быть?