angular - 始终检查组件中调用了哪些服务 - Angular 6
问题描述
我有一个带有多个按钮的仪表板。为此,我将保存、删除、编辑、清除。在里面我会有多个组件。例子:
- 仪表板
- 孩子1 -孙子1
- 孩子2 -孙子1 -孙子2
我的策略是按照 SRP 为每个功能创建一个服务。
create.service.ts
delete.service.ts
clear.service.ts
edit.service.ts
我的问题是我必须总是对孙子组件做出条件。
例子:
component GrandChild1
ngOnInit(){
if(isClearService()){
//do something
}
else if(isCreateService()){
//do something
}
else if(isDeleteService()){
//do something
}
}
有更好的方法来组织这段代码吗?
解决方案
我从来没有做过,但我认为这样的事情将是解决您问题的好方法。T 类型的对象的 rxjs 主题,它定义了一个动作。然后其他对象(来自所有不同的服务)继承并实现基础对象的操作。所以每当一个对象来自这些服务时。您可以执行相同的操作,但结果会有所不同。
推荐阅读
- reactjs - React Redux - 在调度下一个操作之前等待异步 api 调用完成
- python - 使用 python 和 tkcalendar 时更改日期格式
- business-objects - Web Intelligence:输入控件日历和空变量
- ios - Xcode/iOS App 冻结,如何跟踪此类错误
- excel - 我可以将多个宏放在一个中吗?
- c# - 我正在寻找一种将输出转换为八位字节的方法
- java - How to Covert a @XmlType to Json string?
- swift - SwiftUI 的 LocalizedStringKey 的 String.localizedStringWithFormat(_:_:) 等价于什么?
- angular - 警告:无法完全加载 /node_modules/ag-grid-angular/main.js 以进行源地图展平
- python - 加载微调的 EfficientDet 模型时出错