我有一系列附件,并且我有一个功能,可以在附件中导航并根据源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 }}
时,它很好。网址会更新,但实际视频不会更新。有任何想法吗?谢谢!
答案 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 重新制作视频标签