3

我的模拟内存数据库中有 youtube 链接,我想 *ngFor 这些来自 youtube 的视频。

   let videos: any[] =[
            {videoURL: "ZOd5LI4-PcM"},
            {videoURL: "d6xQTf8M51A"},
            {videoURL :"BIfvIdEJb0U"}

        ];

像这样。

我使用服务将我的组件与服务器连接起来,现在在 html 中,我已经放了 v 个视频。在 iframe 标记内.. 我做到了

<iframe src=v.videoURL></iframe>

但由于它是外部来源,他们告诉我使用 Domsanitzer 但我被困在这部分。

我不知道如何清理应该循环的链接。

constructor( private sanitizer: DomSanitizer) {
    this.sanitizer.bypassSecurityTrustResourceUrl('')

<- 我不知道在这里添加什么。

4

1 回答 1

8

您可以创建如下管道:

@Pipe({ name: 'safe' })
export class SafePipe implements PipeTransform {
  constructor(private sanitizer: DomSanitizer) {}
  transform(url) {
    return this.sanitizer.bypassSecurityTrustResourceUrl(url);
  }
}

并通过以下方式使用它:

<div *ngFor="let video of videos">
  <iframe [src]="('https://www.youtube.com/embed/' + video.videoURL) | safe"></iframe>
</div>

Plunker 示例

也可以看看

于 2017-02-28T05:43:47.280 回答