首页 文章

是否可以动态地将带有角度组件的html模板加载到AOT编译的角度应用程序中?

提问于
浏览
0

在我的角度应用程序中,后端用户可以创建自定义模板 . 这些自定义模板需要在特定位置的角度应用程序中加载 . 我有一个自定义指令,它从CMS获取模板(基于路由)并将其注入我的角度应用程序 . 如果我将它放入 innerHTML ,组件将无法正确呈现 . 我需要 componentFactoryResolvercompiler 来正确显示组件 .

上述解决方案不适用于 AOT 编译 . 有没有其他方法我可以实现相同并利用 AOT ?服务器端渲染只是解决方案吗?

1 回答

  • 1

    Angular不鼓励使用Compiler来创建动态模板 .

    Could/would/will code using COMPILER_PROVIDERS be supported by AOT?

    但也许将来可能无需发布编译器,因为新的 View Engine 开启了新功能 .

    Properties

    生成的代码依赖于很少的内部 .

    • 我们可以使API公开稳定

    • 用户可以在npm上发送生成的工厂文件

    这使得在应用程序中调用 ngc 更快,因为它不再需要编译像Ionic这样的库代码 .

    • 用户可以实现自己的 ViewEngine

    这样我们就可以删除 Renderer 抽象,因为我们已经通过 ViewEngine 进行了间接

    • users could create templates programmatically during runtime

    without shipping the compiler

    例如,对于动态形式/ ....

    我们可能想为此提供一个 builder 来正确计算索引并且已经可以在测试中使用

    • 我们可以创建一种新的指令 that transforms a ViewDefinition ,例如将元素包装成新的元素,...( similar to the compile in Angular 1 ) .

    需要一些助手将索引从新索引映射到原始索引

    有关View Engine的更多信息,请参阅Design Doc

相关问题