动态更新<video>的src不会更改视频|角度的

时间:2019-10-15 07:28:49

标签: html angular

我有一系列附件,并且我有一个功能,可以在附件中导航并根据源URL显示/播放视频。我的网址已正确更新,但网站上的实际视频输出未更改。

这里有一个最小的html示例:

<ng-container *ngIf="isVideo; then videoFile; else notVideoFile"></ng-container>

<ng-template #videoFile>
  <video controls autoplay>
    <source [src]="currentAttachment.url"/>
  </video>
</ng-template>

我肯定知道url更新,因为当我打印{{ currentAttachment.url }}时,它很好。网址会更新,但实际视频不会更新。有任何想法吗?谢谢!

3 个答案:

答案 0 :(得分:1)

感谢您的建议,但我找到了解决方案。当遍历附件数组时,我添加了以下代码来更新src:

    if (this.isVideo) {
      if (this.videoFileContainer) {
        this.videoFileContainer.nativeElement.load();
        this.videoFileContainer.nativeElement.play()
      }
    }

并添加了viewchild

@ViewChild('videoFileContainer', { static: false }) videoFileContainer;

然后更新html


<ng-template #videoFile>
  <video #videoFileContainer controls autoplay>
    <source [src]="currentAttachment.url"/>
  </video>
</ng-template>

答案 1 :(得分:0)

尝试

<source src="{{currentAttachment.url}}" type="video/mp4" />

您正在做一些语法错误

答案 2 :(得分:0)

我不使用 angular,但是我知道您必须删除视频标签并使用新的 src 重新制作视频标签