tyoma_koder
@tyoma_koder

Почему пишет что типы несовместимы?

Есть интерфейс
export interface Applications {
  "date": string,
  "firm": string,
  "full name": string,
  "phone": string,
  "comment": string,
  "code": string
}

Я пытаюсь передать переменную с этим типом данных post запросом
this.body = new HttpParams({
      fromObject: this.variable
})

Но мне почему то пишет что
Type 'Applications' is not assignable to type '{ [param: string]: string | number | boolean | readonly (string | number | boolean)[]; }'.

Интерфейс же полностью совпадают с тем типом что в ошибке, что не так?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Ты дальше то сообщение читай:
Type 'Applications' is not assignable to type '{ [param: string]: string | number | boolean | readonly (string | number | boolean)[]; }'.
Index signature for type 'string' is missing in type 'Applications'

Вот так заработает:
export type Applications = {
  "date": string,
  "firm": string,
  "full name": string,
  "phone": string,
  "comment": string,
  "code": string
}

Что за хрень эта ваша Index signature гугли сам.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы