2

我有大约 2,000 行 HTML 代码,可以从我的 Java 服务器中检索。该 HTML 代码内部也有 angular 指令,例如ngIf*and(click)[ngClass]。当我尝试使用以下方法在客户端中显示该 HTML 时:

<div [innerHTML]="htmlData"></div>
<div innerHTML="{{ htmlData }}"></div>

*ngIf我看到所有 HTML 元素都正确显示,但没有任何 angular 指令正常工作(例如一些 HTML 应该(click)用解决这个问题?

我需要这个功能,因为我将我的代码作为 JAR 文件交付给不同的用户以在他们的本地机器上运行,并且我想从一些 Amazon 的 S3 提供 HTML 代码,这样我就可以在我想给他们的网站更新时更新它.

我尝试查看以下答案,但那些处理来自服务器的纯 HTML,并且没有任何角度指令。

使用 angular2 将 HTML 从服务器插入 DOM(Angular2 中的一般 DOM 操作)

角度 HTML 绑定

4

1 回答 1

0

不幸的是,这是不可能的。InnterHTML将 HTML 代码放在那里 - 不是有角度的。Angular 代码应该提前编译——在这个过程中,所有指令和 html 魔法都被简单的 JS 替换。

您可以通过使用节点 js 的服务器端渲染将您的角度代码转换为纯 html。

您可以在此处阅读有关服务器端渲染的更多信息:https ://angular.io/guide/universal

但是,如果您将在 http 请求上发送参数,您也可以使用 JAVA 和任何流行的 JAVA 服务器模板框架。

于 2019-01-21T18:32:39.607 回答