Ich kann anscheinend keine klare Antwort darauf finden, dass ich diese Aufzählung habe
public enum DisplayType { Something, Another, More };
Wie kann ich das in meiner eckigen ts-Datei verwenden?
Ich habe versucht, dies zu tun..
import { ... } from '';
import { DisplayType } from '...'
...
enum DisplayType { Something, Another, More }
@Component({
...
export class ...
constructor(){}
ngOnIt() {
someFunction(DisplayType.Something).subscribe(() => {});
}
so sieht die enum im service aus
export enum DisplayType {
_0 = 0,
_1 = 1,
_2 = 2,
}
aber das scheint nicht zu funktionieren Ich bekomme eine Fehlermeldung
[ts] Argument type of 'DisplayType.Something' is not assignable to paramter of type 'DisplayType'.
enum DisplayType
Bin mir nicht sicher was ich falsch mache?
BEARBEITEN
ich habe versucht zu tun..
const enum DisplayType { Something, Another, More }
Aber ich bekomme immer noch den gleichen Fehler, ich habe es auch versucht
enum DisplayType { Something, Another, More }
export class...
DisplayType: any = DisplayType;
ngOnIt() {
someFunction(this.DisplayType.Something).subscribe(() => {});
}
was macht keinen Fehler, aber wenn ich darüber (property) DashboardAlertComponent.DisplayType: any
fahre, bekomme ich, aber sollte es nicht sagen DisplayType.Something = 1
oder so?
Jede Hilfe wäre dankbar!!
Ihr Dienst definiert eine DisplayType
, aber Sie erstellen auch Ihre eigenen DisplayType
. Nur weil diese beiden Typen denselben Namen haben, sind sie nicht gleich.
Importieren Sie die DisplayType
aus dem Dienst und verwenden Sie diese.
import { DisplayType } from 'service.ts';
someFunction(DisplayType._0);
Wenn Sie Ihre eigene Aufzählung verwenden müssen, können Sie sie als beliebige übergeben, aber stellen Sie sicher, dass die Aufzählungswerte korrekt ausgerichtet sind
someFunction(MyDisplayType.Something as any)
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen