Angular2-在单击“打印链接”时,在同一窗口中启用打印功能



在我的Angular应用中,我有一个组件,在模板中,我在单击上有一个print链接,我必须启用打印功能。我正在我的html--

<div>
<a href="#" (click)="print()">PRINT</a>
</div>

和.ts文件 -

print(): void {
    let printContents, popupWin;
    printContents = document.getElementById('print-section').innerHTML;
    popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
    popupWin.document.open();
    popupWin.document.write(`
      <html>
        <head>
          <title>Print tab</title>
          <style>
          //........Customized style.......
          </style>
        </head>
    <body onload="window.print();window.close()">${printContents}</body>
      </html>`
    );
    popupWin.document.close();
}

这有效,但它打开了一个新的打印窗口。有没有,我可以在同一窗口中有。我也尝试了 -

<a href="javascript:window.print();">Print</a>

但是上述两种方法都不起作用。任何想法如何在Angular2中打印我的页面。

使用onclick调用print((。

尝试此<a href="#" onclick="print();">Print</a>

这很好。我们将能够打印特定的组件,但是我们需要在document.rite函数中添加标签中的样式。

最新更新