首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >始终检查在组件中调用哪个服务-角6。

始终检查在组件中调用哪个服务-角6。
EN

Stack Overflow用户
提问于 2019-04-12 08:55:55
回答 2查看 267关注 0票数 0

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

  • 仪表板
    • Child1 -grandchild1
    • Child2 -grandchild1 -grandchild2

我的策略是在SRP之后为每个函数创建一个服务。

代码语言:javascript
复制
 create.service.ts
    delete.service.ts
    clear.service.ts
    edit.service.ts

我的问题是,我总是要对孙子的部件提出条件。

示例:

代码语言:javascript
复制
component GrandChild1

ngOnInit(){

if(isClearService()){
 //do something
}
else if(isCreateService()){
 //do something
}
else if(isDeleteService()){
 //do something
}

}

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

EN

回答 2

Stack Overflow用户

发布于 2019-04-12 09:01:52

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

票数 0
EN

Stack Overflow用户

发布于 2019-04-12 16:54:19

我认为您必须在组件中有方法,在服务中调用方法。我想你可以为所有按钮创建一个服务。这里的例子是:

服务

代码语言:javascript
复制
export class ChService {
  delete(id: number) {
    //do something
  }
}

组件

代码语言:javascript
复制
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);
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55647930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档