当前位置: 首页 > 面试题库 >

在Angular 2中打印HTML模板(在Angular 2中使用ng-print)

龙毅
2023-03-14
问题内容

我想在angular 2中打印HTML模板。我对此进行了探索,我在angularjs 1中得到了解决方案。在Angularjs
1中打印HTML模板。

任何建议将不胜感激


问题答案:

这就是我在angular2中完成此操作的方式(它类似于那种 笨拙的 解决方案)在您的HTML文件中:

<div id="print-section">
  // your html stuff that you want to print
</div>
<button (click)="print()">print</button>

并在您的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();
}

更新:

您还可以 缩短路径,仅使用ngx-
print
库来减少不一致的编码(混合JS和TS)和更多现成的可控制和安全的打印案例。



 类似资料:
  • 我正在用angular 2开发一个测试应用程序,我遇到了一个基于模型列表添加类的问题。 在角度1中,我们可以: 在 Angular 2 中,到目前为止我所能做的就是: 这显然不是很有活力,我相信一定有更好的方法来做到这一点。 但是,我也尝试过: 但这不起作用,我已经尝试将< code>myClasses作为单个类的字符串名称、字符串数组、具有classname键的对象以及作为值的true,这种类型

  • 我的angular 2组件有以下模板,但它抛出了一个模板解析错误。 这是错误消息-我的

  • 问题内容: 我正在使用angular2和gulp开发一个节点应用程序。我编写了一个组件文件login.ts,如下所示: 我的bootstrap.ts文件是: 但是当我编译这些文件时,出现以下错误: 这是我的tsconfig.json: 我已经使用以下命令安装了angular2的类型: 请帮助纠正错误。 问题答案: @simon错误说的是输入错误。但是对于其他进口商品,我已经发布了此答案,可能对其他

  • 我有一个NgSwitch模板。在NgSwitch中,我想获取初始化模板的模板引用。大致如下: 当单击组件中的按钮时,我想调用初始化组件(第一个/第二个/第三个)到一个方法(在所有这些 3 个组件实现的接口上定义)。问题是视图子项未定义。如果我#ref移动到容器 div,如下所示: ViewChild(模板引用)已初始化,但我可以调用组件的方法。 如何同时使用NgSwitch指令和模板引用变量?或者

  • 问题是 我使用的是和 我成功地重新安装了npm_modules,但是还没有修复我处理的内容。 然后,任务“scripts-javascript-dist”从 你能带领我解决这个问题吗? null 我想,我错过了什么,但我认不出是什么。

  • 对于Angular 1.x,我找到了ng-bind-html的点击,但2.x似乎不支持这一点 thx Frank