J'ai une énumération que j'essaye d'injecter dans une classe à une application angulaire.Comment puis-je amener ma classe à reconnaître cette énumération?
Je ne peux pas tapuscrit de reconnaître les propriétés du ENUM et obtenir l'erreur Property 'xs' does not exist on type 'appBreakpoints'
code:
// appBreakpoints.ts file
export enum appBreakpoints {
xs = 1, // convert xs to truthy value
sm,
md,
lg,
xl,
xxl
}
// In app.module
import { appBreakpoints } from './appBreakpoints'
@NgModule({
providers: [
{ provide: appBreakpoints, useValue: appBreakpoints}
]
});
// In some service
import { appBreakpoints } from './appBreakpoints';
import { Inject } from '@angular/core';
class MyClass {
constructor(@Inject(appBreakpoints) private appBreakpoints: appBreakpoints) {
if (0 < this.appBreakpoints.xs) { // TS ERROR: Property 'xs' does not exist on type 'appBreakpoints'
console.log('something being logged');
}
}
}
Comment puis-je obtenir tapuscrit de reconnaître les propriétés ENUM je peux les utiliser dans ma classe? Pourquoi voulez-vous utiliser un DI angulaire pour cela?
Merci pour cela. Ça a fait fonctionner mon code. J'ai l'enum dans le fichier app-config et je veux juste le rendre disponible aux autres services qui pourraient avoir besoin de l'énumération. – Jonathan002