Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 两个对话框中的循环依赖关系_Angular_Angular Material - Fatal编程技术网

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

Angular 两个对话框中的循环依赖关系,angular,angular-material,Angular,Angular Material,我有两个对话,登录和注册 SignIn可以选择注册,我想关闭SignIn对话框并打开注册对话框 另外,注册还有登录选项,我想在这里关闭注册对话框并打开登录对话框 我已经通过以下组件代码成功地实现了这一点。然而,我在控制台中对循环依赖性感到担忧。有什么建议可以更好地处理这个问题并消除循环依赖 sign-in.component.ts signup() { this.closeModal(); this.dialog.open(SignUpComponent); } signin() {

我有两个对话,登录和注册

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

另外,注册还有登录选项,我想在这里关闭注册对话框并打开登录对话框

我已经通过以下组件代码成功地实现了这一点。然而,我在控制台中对循环依赖性感到担忧。有什么建议可以更好地处理这个问题并消除循环依赖

sign-in.component.ts

signup() {
  this.closeModal();
  this.dialog.open(SignUpComponent);
}
signin() {
  this.closeModal();
  this.dialog.open(SignInComponent);
}
注册.component.ts

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

提前感谢您的帮助

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

@Output() openSignup = new EventEmitter();

<button (click)="openSignup.emit()">
@Output()openSignup=neweventemitter();
父级将侦听所有模式子级的更改并处理这些更改,子级之间将互不了解,从而防止循环依赖关系。

我有一个链接
登录
,但这不起作用。您应该阅读以下内容:。它解释了为什么有些东西(我不知道是什么)不适合你。您的问题的答案是保持应用程序的布局层次化=金字塔形。兄弟姐妹之间不应相互了解,但应由父母委派。