Доступ к собственности по значению enum - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь получить доступ к свойству через строковую переменную в TypeScript. Когда я пишу d["account_type"] все в порядке, но когда я использую одно из перечислений Dictionary и пишу d[Dictionary.AccountType], я вижу ошибку:

Элемент неявно имеет тип 'any', потому что тип 'Словари' не имеет подписи индекса.

this.dictionaries.toPromise().then(d => { return d["account_type"] });

export enum Dictionary {
    AccountType = "account_type",
    AddressType = "address_type",
    CardBrand = "card_brand",
    ContactType = "contact_type",
    Country = "country",
    DevicePayDay = "device_pay_type",
    LogType = "log_type",
    PaymentProvider = "payment_provider",
    PaymentType = "payment_type",
    Permission = "permission",
    PointProperty = "point_property",
    PointService = "point_service",
    PromoSchemaOn = "promo_schema_on",
    PromoSchemaOff = "promo_schema_off",
    ReportType = "report_type",
}

Есть ли способ получить доступ к свойствам объекта по строковому значению enum?

1 Ответ

0 голосов
/ 24 апреля 2019

Изменить на

this.dictionaries.toPromise().then((d: any) => { return d[Dictionary.AccountType] });

Демо: https://stackblitz.com/edit/angular-get-value-by-enum

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...