我使用带有效果的 ngrx-store 4.x 和 Angular 5。
我有一个简单的用例,当数据成功保存在后端时,我需要显示通知。
目前我不确定实现这一目标的最佳方法是什么。我看到两个选项:
- 商店中的标志和组件中的标志:
- 在商店中添加“dataSaved”标志。保存数据时,该标志由效果中的动作设置为真。
- 在角度组件中,添加一个附加标志“已调度”。当按下“保存”按钮时设置该标志。
- 如果两个标志都为真,则显示“数据已保存”对话框。
- 商店中的标志和重置操作:
- 在商店中添加“dataSaved”标志。保存数据时,该标志由效果中的动作设置为真。
- 在组件的 ngOnInit 方法中重置“dataSaved”标志。
- 如果“dataSaved”标志为真,则显示“数据已保存”对话框。
我在选项 2 中看到了一个潜在的问题:如果请求需要很长时间,用户可以离开组件并再次返回,如果请求然后完成,保存的通知会突然出现。
这两种选择对我来说都有些过于复杂了——有人能指出我正确的方向吗?