我有一个有多个按钮的仪表盘。为此,我将保存,删除,编辑,清除。在里面我会有多个组件。示例:
我的策略是在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
}
}有更好的方法来组织这个代码吗?
发布于 2019-04-12 09:01:52
我从来没有这样做过,但我可以认为这样的事情会是解决你的问题的好办法。定义动作的T类型对象的rxjs主题。然后,其他对象(来自所有不同的服务)继承和实现基本对象的操作。因此,每当对象从这些服务中进来时。您可以执行相同的操作,但结果会有所不同。
发布于 2019-04-12 16:54:19
我认为您必须在组件中有方法,在服务中调用方法。我想你可以为所有按钮创建一个服务。这里的例子是:
服务
export class ChService {
delete(id: number) {
//do something
}
}组件
import { ExampleService } from './services/ex.service';
export class AppComponent implements OnInit, OnDestroy {
constructor(public ex: ExampleService) {}
delete(id: number) {
// do something
this.ex.delete(id);
}
}https://stackoverflow.com/questions/55647930
复制相似问题