Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

248
Views
Cuándo inyectar un SERVICIO al nivel del módulo Angular 2 y al nivel del componente de la aplicación

He estado viendo Introducción a Angular 2 en PluralSight y vi que algunos servicios creados se inyectan en el componente de la aplicación y el componente del módulo.

Aquí hay un ejemplo:

Al crear un RouterGuard en Angular 2, el Servicio creado para RouterGuard se inyecta en el nivel del Módulo, pero algunos servicios personalizados se inyectan solo en el nivel del Componente de la aplicación. Mi pregunta es, ¿cuándo debo inyectar un servicio a nivel de módulo y cuándo inyectar solo a nivel de componente de aplicación?

¡Gracias!

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

De hecho, puede proporcionar servicios a nivel de Módulo ya nivel de Componente. Puede proporcionar un servicio a nivel de Módulo, al incluirlo en la matriz de providers de NgModule de esta manera:

 @NgModule({ declarations: [ ... ], imports: [ ... ], providers: [MyService], bootstrap: [AppComponent] })

Cuando hace esto, está proporcionando la misma instancia en todo el módulo y en todos los elementos secundarios.

Pero, en ocasiones, es posible que desee proporcionar instancias separadas de servicios a los componentes. En ese caso, puede proporcionar un servicio en el nivel de Componente incluyéndolo en la matriz de providers en el decorador de componentes de esta manera:

 @Component({ templateUrl: './app.component.html', providers: [MyService] })

Esto proporciona una nueva instancia del servicio solo para este componente.

Un ejemplo de cuándo desea proporcionar un servicio a nivel de módulo es cuando utilizará un servicio para almacenar datos compartidos por varios componentes. Esto podría estar usando variables u observables que están almacenados en el servicio, pero que son usados por varios componentes. Otro momento en el que desearía proporcionar un servicio a nivel de Módulo es si su servicio no tiene estado (solo devuelve observables de llamadas Http). En estos escenarios, tener una instancia compartida tiene sentido.

Otras veces, es posible que desee proporcionar un servicio que también contenga datos, pero desea que cada componente tenga su propia instancia. En este escenario, tiene sentido proporcionar el servicio a nivel de Componente.

Espero que ayude.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!