Angular 动态形式的异步绑定

Angular 动态形式的异步绑定,angular,forms,asynchronous,binding,angular5,Angular,Forms,Asynchronous,Binding,Angular5,基于上的角度指南,我建立了一系列可以动态创建表单的类。这很好,但是如果我不能将表单动态地建立在模型对象上,那么仅仅编写html实际上并不会节省很多精力 因此,我创建了一个基于模型对象中的属性动态构建表单的服务 问题在于,模型对象是从web服务异步返回的。因此,在进行初始绑定时,角度会发生爆炸 <dynamic-form [formConfig]="formConfig"></dynamic-form> 但它仍在尝试立即绑定并崩溃,因为未定义的正在被传递到 我认为问题在于

基于上的角度指南,我建立了一系列可以动态创建表单的类。这很好,但是如果我不能将表单动态地建立在模型对象上,那么仅仅编写html实际上并不会节省很多精力

因此,我创建了一个基于模型对象中的属性动态构建表单的服务

问题在于,模型对象是从web服务异步返回的。因此,在进行初始绑定时,角度会发生爆炸

<dynamic-form [formConfig]="formConfig"></dynamic-form>
但它仍在尝试立即绑定并崩溃,因为
未定义的
正在被传递到

我认为问题在于
async
管道似乎不像我在自定义组件上期望的那样工作


有什么建议吗?

无论出于何种原因,
异步
管道似乎无法与用户编写的组件正常工作。我发现,相反,用
*ngIf
保护整个过程可以解决问题

<div *ngIf="formConfig | async; let formConfig">
    <dynamic-form [formConfig]="formConfig"></dynamic-form>
</div>


请给出一个答案。在哪里定义了
formConfig
?“爆炸”到底意味着什么?如果不复制15个文件,给出一个带有Angular的“最小”示例几乎是不可能的。这就是为什么我链接到他们的文章,这篇文章讲述了整个过程。“爆炸”意味着大量错误,因为
未定义的
正在传递给
动态表单
。我的问题实际上更多的是异步如何在Angular中与绑定一起工作。您可以始终为任何想要实际运行它的人提供一个最小的服务组件设置和指向Plunkr或其他东西的链接。但由于只有一个模板片段,并且没有错误详细信息,很难准确地说出问题所在。@jonrsharpe我提供了错误详细信息。您不需要代码来理解所描述的问题。
<div *ngIf="formConfig | async; let formConfig">
    <dynamic-form [formConfig]="formConfig"></dynamic-form>
</div>