将 HTML(使用 angular 2 个指令)从服务器插入到 DOM
Inserting HTML (with angular 2 directives) from the server into the DOM
我有大约 2,000 行 HTML 代码,我可以从我的 Java 服务器检索这些代码。此 HTML 代码内部还包含 angular 指令,例如 ngIf*
和 (click)
以及 [ngClass]
。当我尝试使用以下方法在我的客户端中显示 HTML 时:
<div [innerHTML]="htmlData"></div>
<div innerHTML="{{ htmlData }}"></div>
我看到所有 HTML 元素都正确显示,但是 angular 指令中的 none 正在工作(例如一些 HTML 应该隐藏*ngIf
但它们不是...... (click)
事件的 none 有效。我能做些什么来解决这个问题?
我需要此功能,因为我将我的代码作为 JAR 文件交付给各种用户 运行 在他们的本地机器上,我想提供来自某些亚马逊 S3 的 HTML 代码,所以每当我想更新他们的网站时,我都可以更新它。
我试着查看以下答案,但这些答案只处理来自服务器的 HTML,没有任何 angular 指令。
Inserting HTML from server into DOM with angular2 (general DOM manipulation in Angular2)
很遗憾,这是不可能的。 InnterHTML
会将 HTML 代码放在那里 - 而不是 angular。 Angular 代码应该提前编译 - 所有指令和 html 魔法被简单的 JS 替换的过程。
您可以使用节点 js 通过服务器端渲染将 angular 代码转换为纯 html。
您可以在此处阅读有关服务器端呈现的更多信息:https://angular.io/guide/universal
但是,如果您要在 http 请求上发送参数,您也可以使用 JAVA 和任何流行的 JAVA 服务器模板框架。
我有大约 2,000 行 HTML 代码,我可以从我的 Java 服务器检索这些代码。此 HTML 代码内部还包含 angular 指令,例如 ngIf*
和 (click)
以及 [ngClass]
。当我尝试使用以下方法在我的客户端中显示 HTML 时:
<div [innerHTML]="htmlData"></div>
<div innerHTML="{{ htmlData }}"></div>
我看到所有 HTML 元素都正确显示,但是 angular 指令中的 none 正在工作(例如一些 HTML 应该隐藏*ngIf
但它们不是...... (click)
事件的 none 有效。我能做些什么来解决这个问题?
我需要此功能,因为我将我的代码作为 JAR 文件交付给各种用户 运行 在他们的本地机器上,我想提供来自某些亚马逊 S3 的 HTML 代码,所以每当我想更新他们的网站时,我都可以更新它。
我试着查看以下答案,但这些答案只处理来自服务器的 HTML,没有任何 angular 指令。
Inserting HTML from server into DOM with angular2 (general DOM manipulation in Angular2)
很遗憾,这是不可能的。 InnterHTML
会将 HTML 代码放在那里 - 而不是 angular。 Angular 代码应该提前编译 - 所有指令和 html 魔法被简单的 JS 替换的过程。
您可以使用节点 js 通过服务器端渲染将 angular 代码转换为纯 html。
您可以在此处阅读有关服务器端呈现的更多信息:https://angular.io/guide/universal
但是,如果您要在 http 请求上发送参数,您也可以使用 JAVA 和任何流行的 JAVA 服务器模板框架。