Угловой сервис уровня компонента внедряет другой сервис уровня компонента - PullRequest
0 голосов
/ 22 января 2019

У меня есть компонент, который использует два разных сервиса на уровне компонента.Каждый сервис отвечает за свою собственную логику для компонента:

@Component({
  selector: 'my-component',
  templateUrl: './my-component.html',
  providers: [ServiceA, ServiceB]
})

И в то же время мне нужны некоторые методы из ServiceB в ServiceA.Итак, я сделал:

@Injectable()
export class ServiceA {
  constructor(private serviceB: ServiceB){}

  someMethod() {
     this.serviceB.makeSomething(); 
  }
}

Итак, вопрос в том, нормально ли использовать сервисы на уровне компонентов таким образом?Как это работает?Как ServiceA использует тот же экземпляр ServiceB, что и в MyComponent?

UPD : Здесь - это упрощенный пример того, что у меня есть.Я знаю, что мой пример не идеален, но я надеюсь, что вы получите его

1 Ответ

0 голосов
/ 22 января 2019

Для услуг, официальный гид имеет:

  • Создайте службы с единственной ответственностью, которая инкапсулирована в их контексте.
  • Создайте новый сервис, как только он начнет выходить за рамки единственного назначения.

Это может быть хорошим предложением.

Оригинал документа здесь Единоличная ответственность .

...