首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角6+绑定[src]

角6+绑定[src]
EN

Stack Overflow用户
提问于 2019-03-19 22:17:01
回答 2查看 11.1K关注 0票数 2

我使用ngx-extended-pdf-viewer ( npm )来呈现PDF,当我直接设置path+fileName时,它可以工作,如下所示:

代码语言:javascript
复制
 <ngx-extended-pdf-viewer [src]="'assets/example.pdf'" 
            [showPrintButton]="false" [showBookmarkButton]="false"
            [showOpenFileButton]="false" 
            [showSidebarOnLoad]="false"
            [showSidebarButton]="true" 
            delayFirstView="6000" useBrowserLocale="false">
          </ngx-extended-pdf-viewer>

我希望在.TS中创建一个变量,并将其绑定到src中,如下所示:

类型标

代码语言:javascript
复制
...
ngOnInit() {
    this.filePathAndName = "'assets/example.pdf'";
...

代码语言:javascript
复制
 <ngx-extended-pdf-viewer [src]="{{filePathAndName}}" 
            [showPrintButton]="false" [showBookmarkButton]="false"
            [showOpenFileButton]="false" 
            [showSidebarOnLoad]="false"
            [showSidebarButton]="true" 
            delayFirstView="6000" useBrowserLocale="false">
          </ngx-extended-pdf-viewer>

但不起作用。

主要问题是src需要有两个符号:引号(“)后面跟着Apostrophe (‘).”“path+name”(没有空格)

我的问题是:如何在类型记录中的变量中放入一个有效值,以便在这个特定的场景中正确地呈现?

EN

回答 2

Stack Overflow用户

发布于 2019-03-19 22:28:40

它不需要那些引号。它们仅用于文字字符串绑定。试试这个:

代码语言:javascript
复制
this.filePathAndName = "assets/example.pdf";

<ngx-extended-pdf-viewer *ngIf="filePathAndName" [src]="filePathAndName" 
票数 2
EN

Stack Overflow用户

发布于 2019-07-10 14:52:45

可能要晚了才回复,对以后的人会有帮助。

HTML代码:

代码语言:javascript
复制
  <ngx-extended-pdf-viewer *ngIf="currentPdf"
    [src]="currentPdf" useBrowserLocale="false"
    style="height: 100%; width: 100%"
    [delayFirstView]="1000"
    [showHandToolButton]="true"
    [handTool] = false>
  </ngx-extended-pdf-viewer>

打字本代码:

代码语言:javascript
复制
public currentPdf: string

displayPdf() {

    // setTimeout(() => {
      this.service.getPdfExtractedContent(this.id)
        .pipe(first())
        .subscribe(
          data => {
            this.currentPdf = URL.createObjectURL(this.b64toBlob(data.ExtractedByte,'data:application/pdf;base64', 1024));

          },
          error => {
            console.log(error);
          }
        );
    // }, 500);

  }


  b64toBlob(b64Data, contentType, sliceSize) {
    const byteCharacters = atob(b64Data);
    const byteArrays = [];

    for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
      const slice = byteCharacters.slice(offset, offset + sliceSize);

      const byteNumbers = new Array(slice.length);
      for (let i = 0; i < slice.length; i++) {
        byteNumbers[i] = slice.charCodeAt(i);
      }

      const byteArray = new Uint8Array(byteNumbers);
      byteArrays.push(byteArray);
    }

    const blob = new Blob(byteArrays, {type: contentType});
    return blob;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55250786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档