从服务器插入带有Angular 2指令的HTML到DOM中。

14 浏览
0 Comments

从服务器插入带有Angular 2指令的HTML到DOM中。

我有大约2000行的HTML代码可以从我的Java服务器中检索出来。这个HTML代码中还包含了一些Angular指令,比如ngIf*(click)[ngClass]。当我尝试在我的客户端中使用以下方法显示这个HTML时:


我发现所有的HTML元素都正确显示,但是其中的Angular指令都没有生效(比如一些HTML应该被*ngIf隐藏,但实际上它们没有被隐藏...而且(click)事件也不起作用)。我该怎么解决这个问题?

我需要这个功能,因为我将我的代码作为JAR文件交付给各个用户在他们的本地机器上运行,并且我想从亚马逊的S3中提供HTML代码,这样我可以随时更新它,给他们的网站进行更新。

我尝试过查看下面的答案,但那些答案只涉及纯HTML,没有任何Angular指令。

将HTML从服务器插入到Angular2的DOM中(Angular2中的常规DOM操作)

Angular HTML绑定

0
0 Comments

在使用Angular 2指令将HTML代码从服务器插入到DOM中时,会遇到以下问题:

无法直接使用innerHTML将Angular代码插入到DOM中,因为innerHTML只会将HTML代码插入到DOM中,而不会将Angular代码插入其中。实际上,Angular代码应该在预编译时被编译,这是一个将所有指令和HTML转换为简单JS的过程。

解决方法之一是使用Node.js进行服务器端渲染,将Angular代码转换为普通的HTML代码。

您可以了解更多关于服务器端渲染的信息:https://angular.io/guide/universal

另一种解决方法是使用Java,并使用任何流行的Java服务器模板框架,通过HTTP请求发送参数。

0