Es posible que me esté perdiendo algo, y la gente suele preguntar "Cómo" y no "Por qué" cada vez que lo busco en Google.
Pero, ¿cuál es el punto de crear múltiples instancias del mismo servicio donde cada instancia tiene las mismas funciones, las mismas variables?
Para mantener el estado.
Imagina que tienes una aplicación que tiene varias pestañas. Digamos que muestran información del automóvil, por lo que cada pestaña tiene un automóvil diferente. Usted proporciona el servicio en el componente "pestaña raíz", por lo que la instancia de ese servicio estará disponible para todos los subcomponentes/servicios dentro de esa pestaña, y no fuera. De esta manera, escribe un servicio que almacena datos de un automóvil, lo que reduce la complejidad del servicio.
Pequeño ejemplo
@Injectable() export class CarService { color = ''; } @Component({ ... providers: [CarService] }) export class TabComponent { constructor(private car: CarService) {} getColor() { return this.car.color } }De esta manera puedes tener
TabComponent getColor() -> red TabComponent getColor() -> blue TabComponent getColor() -> black