Установить привязку свойства sr c для pdf-viewer с помощью директивы - PullRequest
0 голосов
/ 31 января 2020

Я использую angular -pdf-viewer. У него есть привязка свойства "sr c", которая отображает .pdf в этом месте.

<pdf-viewer [src]="src" [autoresize]="true" [original-size]="false"></pdf-viewer>

У меня также есть директива, которую я использую для тегов img. Эта директива отправляется на сервер Node.js, захватывает изображение и превращает его в большой двоичный объект, используя URL.createObjectURL(response.body);

. С изображениями я могу использовать эту директиву для обновления sr c изображения с помощью делать:

<img [directiveSrc]="src"/>

Где моя директива выглядит примерно так (псевдокод):

@Directive({
  selector: '[directiveSrc]'
})
export class DirectiveSrc {
  constructor(private readonly httpClient: HttpClient, private el: ElementRef) {}
  @Input('directiveSrc')
  url(url: string) {
    // ...
    let response = this.httpClient.get(url, ...);
    let img = URL.createObjectURL(response.body);
    this.el.nativeElement.src = img;
    // ...
  }
}

Для тегов img это получает файл изображения с сервера (который должен пройти в заголовках для проверки токена, et c.), затем устанавливает элемент img элемента в новый blob, полученный просто, вызывая this.el.nativeElement.src = ....

Однако, когда я пытаюсь сделать это в pdf-viewer <pdf-viewer [directiveSrc]="src" .../>, это не меняет фактический sr c компонента, и я не могу использовать инструменты разработчика для изменения исходного местоположения файла PDF для тестирования.

Есть ли способ установить привязку pdf-viewer [src] в директиве?

...