我想开发一个具有标准实现的应用程序,但也留出了进行某些定制(针对客户)的可能性。该定制可以基于任何组件或功能的行为,样式或模板。我想要一个解决方案,在不直接影响客户项目(定制项目)的情况下,我不被迫向客户项目中添加一些东西。
我在客户项目旁边有我的标准项目。每个客户项目都覆盖需要定制的模块/组件/服务...。
重写组件时,我必须重写整个模板。因此,如果我只想在自定义组件中添加
,则必须复制粘贴整个原始模板,然后在需要的地方添加
。 这样做的问题是,如果我现在想在标准模板中添加一些内容,那么除非我也将新内容添加到其模板中,否则定制客户模板将不会受到影响,从而使客户项目的维护更加困难。
(已经尝试在Make changes in template when overriding a component in Angular中找到解决方案) 我可以通过使用ngTemplateOutlet和模板组合(模板:require('part1.html')+ require('part2.html'))获得一个JIT工作解决方案,但这不适用于AOT(Angular 8)
此要求的整体方法(替代)是否有效? 我想避免在一个项目中使用大量ngIf来处理客户实施。
如果没有,您的建议是什么?
谢谢。
答案 0 :(得分:0)
我觉得您的要求可能是动态组件加载程序的有效匹配。 Angular文档中有一个很好的例子: Angular Dynamic Component Loader example
通过使用此方法,您不需要为每个客户在项目中使用大量ngIf。您可能只有一个基础,并且对于某些客户而言,加载特定的组件