Машинопись - использование записи для создания словарей - PullRequest
0 голосов
/ 27 мая 2020

Вот что у меня есть на данный момент:

constructor() {
   type someTypes = 'xyz';
   const translations: Record<someTypes, ITranslation> = {
   [Constants.someConstant]: {key: 'abc', value: 'Value'}
  }
}
interface ITranslation {
  key: string;
  value: string;
}

Я импортирую этот класс в другой класс, но переводов не видно. Я правильно понял?

Спасибо

Обновить. Вот что у меня есть:

  export class allTranslations {
     public translations: Record<someTypes, ITranslation>;
     constructor() {
        this.buildTranslations();
     }
     buildTranslations() {
        this.translations = {
           ['category1']: {key: 'Column_CaseID', value: 'Case ID'},
           ['category1']: {key: 'Column_CaseState', value: 'State'}

        }


   }

   type someTypes = 'category1';

Я надеялся получить записи с несколькими типами и словарями этих типов. Что-то вроде словаря словарей. Однако, когда я проверяю свойство translations в другом классе, у меня есть только последняя запись category1. Возможно ли достичь того, что я пытаюсь сделать?

1 Ответ

1 голос
/ 28 мая 2020

Попробуйте экспортировать интерфейс?

export interface ITranslation {
  key: string;
  value: string;
}

Или попробуйте

export class TranslationsRecord {
    public translations: Record<someTypes, ITranslation>

    constructor() {
        type someTypes = 'xyz';
        this.translations = {
         [Constants.someConstant]: {key: 'abc', value: 'Value'}
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...