Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
No se puede inyectar la dependencia en el servicio resuelto

Me encontré con este problema específico en la arquitectura de mi proyecto Angular:

Tengo un componente que necesita cargar un servicio diferente según la URL actual. Se hace resolviendo el servicio como en el ejemplo a continuación.

ChartRoutingModule

 const routes: Routes = [ { path: 'doctorspecialities', component: ChartComponent, resolve: { service: DoctorSpecialitiesServiceResolver, }, }, ] @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule], providers: [DoctorSpecialitiesServiceResolver], }) export class ChartRoutingModule {}

Cuando el usuario ingresa una URL específica, el servicio se resuelve:

DoctorEspecialidadesServicioResolver

 @Injectable() export class DoctorSpecialitiesServiceResolver implements Resolve<any> { resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { return new DoctorSpecialitiesService(); } }

Y el servicio está en ActivatedRoute. Todo funciona bien por ahora. Pero necesito inyectar HttpClient en este servicio. Agregar private _http: HttpClient en el constructor de DoctorSpecialitiesService da como resultado este error:

An argument for '_http' was not provided.

Creo que debería pasar esta dependencia en Resolver pero no tengo idea de dónde debería declararla. No pude encontrar nada que me ayude. ¿Me podrías dar una mano con esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede hacer que se inyecte HttpClient en su resolución y luego pasarlo al constructor DoctorSpecialitiesService de la siguiente manera:

 @Injectable() export class DoctorSpecialitiesServiceResolver implements Resolve<any> { constructor(private http: HttpClient) { } resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { return new DoctorSpecialitiesService(this.http); } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda