DomSanitizer выдает ошибку

Я доверяю URL с.. DomSanitizer, как показано ниже:

myFunction(videoLoc:any):void { 
    videoLoc = this.sanitizer.bypassSecurityTrustResourceUrl(videoLoc); 
}

но получаю ошибку на консоли:

ПОЛУЧИТЬ небезопасно: myFunction ( https://www.youtube.com/watch?v=c9F5kMUfFKk)

Мой код HTML, как показано ниже:

<tr *ngFor="let fetch of fetchApi.data.featured">
  <td>
     <video width="320" height="240" controls>                                                                                                                                              
     <source src=myFunction({{fetch.video_location}})>
     </video>
  </td>                                                                                                                                                                                                                                                                                                                                     
</tr> 

По этой причине я не смог отобразить мои видео на HTML-странице. В чем ошибка, которую я делаю?

1 ответ

Ваш шаблон кажется неправильным, он должен быть

<source [src]="myFunction(fetch.video_location)">

и просто верните videoLocation после очистки

myFunction(videoLoc:any):void {
 return this.sanitizer.bypassSecurityTrustResourceUrl(videoLoc);
}

или вы можете справиться с этим с помощью трубы,

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

а потом,

  <source [src]="mfetch.video_location | safe">
Другие вопросы по тегам