我刚刚将我的angular 14项目更新为15
在angular 14中,我使用以下代码来填充dialog result
this.dialogRef.beforeClosed().subscribe(() => this.dialogRef.close(this.selectedRows));
它可以正常运行,没有任何错误,但在更新到angular 15之后,发生了以下错误:
Maximum call stack size exceeded
它陷入无限循环。我用一个布尔变量标记来修复它
它有一个技巧来获得与角14相同的行为
我不知道这是怎么回事。你正在创造一个无限循环。我确信this.dialogRef.close
触发beforeClosed()
可观察对象发出一个值,然后你就进入了一个无限循环。
试题:this.dialogRef.beforeClosed().pipe(take(1)).subscribe(() => this.dialogRef.close(this.selectedRows));
take(1)
可能在这里工作吗?