我想创建一个由 JSON 配置的完全动态页面组成的应用程序。
我选择 ngx-formly 来创建动态表单,它运行良好,但我不知道如何向前迈出一步并动态创建屏幕,同时能够添加动态模板并将表单配置传递给它。可能吗?我感谢每一个帮助、建议或代码示例。
目标:
完全从 JSON 配置构建应用程序。AppComponent 在初始化时获取 JSON 配置,使用给定的组件类型、模板和数据构建屏幕组件,将它们添加到路由器配置,并显示主页。
不会失去 AOT
简化配置:
import BaseFormScreen, FormScreenLayoutComponent, BaseScreen, HomeScreenLayoutComponent from '';
export const screens: [
{'title','Form1', 'path':'/form1', 'type':BaseFormScreen, 'template':FormScreenLayoutComponent, 'formdata':{...}},
{'title','Form2', 'path':'/form2', 'type':BaseFormScreen, 'template':FormScreenLayoutComponent, 'formdata':{...}},
{'title','Form3', 'path':'/form3', 'type':BaseFormScreen, 'template':FormScreenLayoutComponent2, 'formdata':{...}},
{'title','Home', 'path':'', 'type':BaseScreen, 'template':HomeScreenLayoutComponent},
]
[ BaseScreen ] 为其模板提供基本逻辑和数据,即标题、日志记录、服务(智能组合,无模板)
[ BaseFormScreen ] 扩展 BaseScreen,从输入 json 构建动态表单,并添加提交功能
[ HomeScreenLayoutComponent ] 纯模板组件将在页面上呈现导航按钮,每个屏幕一个,
[ FormScreenLayoutComponent ] 纯模板组件呈现标题、动态表单、提交按钮,并添加“主页”按钮