假设MatDialog或任何“对话框打开服务”实现(其中一个对话框是用dialogService.open打开的),“对话框打开逻辑”是否适合于组件本身,还是适用于存储库(NGRX)?
component.ts
foo(): void {
this.dialogService.openDialog(BarDialog, params)
}vs
component.ts
foo(): void {
this.store.dispatchAction(OpenBarDialog, params)
}这样的效果就会产生“对话打开逻辑”。我的直觉是“打开对话是一种副作用”。
发布于 2021-12-18 13:16:17
我不认为这个问题有一个具体的答案,这都取决于你需要什么。这是我的两分钱,我绝对是说要讨论(!)
有了这种逻辑之后,最终可以更容易地重构和重用。但是,如果这个对话框的“答案”(对例如关闭操作的反应)只打算由您开始打开对话框的组件使用,那么为什么首先将所有内容抽象成一个效果呢?
另一方面,如果您一直使用NGRX,您最终会得到更多可读性和合理性的代码。
https://stackoverflow.com/questions/70403537
复制相似问题