Class vs Injection Token
Une dépendance peut être de type string ou "objet literal" ou même sans type. Cf. https://angular.io/api/core/InjectionToken.
Pour des raisons de lisibilité et de maintenabilité, évitez l'utilisation d'InjectionToken et préférez l'utilisation de classes.
Au lieu de :
export const API_BASE_URL = new InjectionToken<string>('ApiBaseUrl');
@NgModule({
providers: [
{
provide: API_BASE_URL,
useValue: 'https://api.wishtack.io/api/v2'
}
]
})
export class AppModule {
}
@Component({
...
})
export class AppComponent {
constructor(@Inject(API_BASE_URL) apiBaseUrl: string) {
}
}... préférez donc l'approche ci-dessous afin de bénéficier sans effort du "typing" TypeScript et éviter l'utilisation du décorateur @Inject().
Mis à jour