最大调用堆栈大小超出了dialgref的错误.更新到angular 15后被取消赎回权?



我刚刚将我的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)可能在这里工作吗?

相关内容

  • 没有找到相关文章

最新更新