两个对话框中的循环依赖关系

时间:2018-04-29 09:07:53

标签: angular angular-material

我有两个对话框,SignIn和SignUp。

SignIn可以选择SignUp,我想关闭SignIn对话框并打开SignUp对话框。

此外,SignUp可以选择SignIn,我想关闭SignUp对话框并打开SignIn对话框。

我已通过以下组件代码成功实现了这一目标。但是,我在控制台中得到了循环依赖的警告。任何建议,以更好地处理这个并摆脱循环依赖。

登录in.component.ts

signup() {
  this.closeModal();
  this.dialog.open(SignUpComponent);
}

登录up.component.ts

signin() {
  this.closeModal();
  this.dialog.open(SignInComponent);
}

先谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

您可以将模态放在父组件中并发出调用以打开该父组件的特定模态:

@Output() openSignup = new EventEmitter();

<button (click)="openSignup.emit()">

父母将听取所有模态孩子的变化并处理它们,孩子们不会彼此知道任何事情,从而阻止了循环依赖。