我有2种表格。这些表格中的每一个都有自己的材质对话框,可以随着当前状态的发展而发展。
因此,PersonComponent由RequestComponent和ResponseComponent使用,但是PersonService具有两种不同的状态。
问题是,目前,如果每个组件的状态在CoreModule级别提供,则状态可以相同。如果在PersonComponent级别提供,则每个可能不同。
我也尝试提供RequestComponent和ResponseComponent的级别,但这似乎是错误的。
以下是它在stackblitz上的再现:https://stackblitz.com/edit/poc-grow-form?embed=1
答案 0 :(得分:0)
最后,我使用了对话框的Material数据(MAT_DIALOG_DATA)来提供我的服务的正确实例。
this.dialog.open(PersonDialogComponent, {
data: { service: this.personService }
});
然后通过输入将其提供给personComponent
<app-person [service]="data.service" ></app-person>
最后检查personComponent是否需要输入
@Input("service") inputService: PersonService;
personService: PersonService;
constructor(private _personService: PersonService) { }
ngOnInit() {
this.personService = this.inputService ? this.inputService : this._personService;
}
https://stackblitz.com/edit/poc-grow-form?embed=1&file=src/app/core/person/person.component.ts