首页 > 解决方案 > 始终检查组件中调用了哪些服务 - Angular 6

问题描述

我有一个带有多个按钮的仪表板。为此,我将保存、删除、编辑、清除。在里面我会有多个组件。例子:

我的策略是按照 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
}

}

有更好的方法来组织这段代码吗?

标签: angular

解决方案


我从来没有做过,但我认为这样的事情将是解决您问题的好方法。T 类型的对象的 rxjs 主题,它定义了一个动作。然后其他对象(来自所有不同的服务)继承并实现基础对象的操作。所以每当一个对象来自这些服务时。您可以执行相同的操作,但结果会有所不同。


推荐阅读