【发布时间】:2017-04-09 17:39:20
【问题描述】:
我正在尝试在 html 中显示代码并使用 Google Code prettify 对其进行美化。我几乎完成了我的要求,但是当我尝试将文件外部化并从中提取代码时,它不起作用。
这是我的 ts 代码 sn-p。
demoJavaCode: any;
demoJavaCodeFromFile: any;
ngOnInit() {
this.demoJavaCode =
`<pre><xmp class="prettyprint">
public class A {
public static void main(String args[]) {
}
}
</xmp></pre>`;
}
ngAfterViewInit() {
PR.prettyPrint();
}`
在模板中,我是这样获取的。
<p [innerHtml] ="demoJavaCode | trustedHtml"></p>
它运作良好,其中包含代码的段落只有在使用trustedHTML管道进行清理时才会突出显示/美化。
但是当我试图将代码外部化到具有完全相同代码内容的外部文件时,它不起作用。
这是我的 ts sn-p。
this._http.get("assets/java_code.txt").map(res => res.text()).subscribe(
response => {
this.demoJavaCodeFromFile = response;
},
error => {
this.componentErrorMessage = error;
},
() => {
console.log('File successfully loaded..');
}
);
这里有什么问题?任何指示和建议都会有所帮助。
【问题讨论】:
-
我假设 'PR.prettyPrint()' 调用一个全局 API 来使代码更漂亮?如果你在赋值this.demoJavaCodeFromFile之后调用,在subscribe的成功函数中?
-
@AhmedMusallam,确实如此,并且它希望将代码附加到文档,除非显式传入根,并且它不会进入 shadowRoots 或模板节点。见declaration
标签: angular google-code-prettify