¿Cómo utilizar la inyección de dependencia (DI) correctamente en Angular2?

He estado tratando de descubrir cómo funciona la inyección de dependencia (DI) en Angular2. Me encontré con muchos problemas / problemas cada vez que intenté inyectar un servicio / clase en mis componentes.

De diferentes artículos en Google, necesito usarproviders: [] en la configuración de componentes, o a veces necesito usar@Inject() en mi constructor o inyectar directamente en elbootstrap(app, [service])? También he visto algunos artículos que quieren que ponga@injectable decorador.

Por ejemplo: para inyectar Http, solo necesitoimport{Http} y poner Http en los proveedores, pero para FormBuilder, necesito usar@Inject() en constructor.

¿Hay alguna regla general sobre cuándo usar qué? ¿Podría proporcionar algún fragmento de código de ejemplo? Gracias :-)

Respuestas a la pregunta(5)

Su respuesta a la pregunta