Как я могу объявить интерфейс машинописного текста как атрибут класса - PullRequest
0 голосов
/ 02 января 2019

Я определил интерфейс следующим образом:

export interface Donor{
    donorName: string;
    donorId: string;
    donorPassword:string
    donorAge: number
    fitnessReport: string
    physicianApproval: string
}

Я хотел бы использовать переменную этого типа интерфейса в качестве атрибута частного класса в следующем классе

class SawtoothService {

  //Donor component
  private currentDonor: <Donor>;

  public setDonor(currentDonor) {
    this.currentDonor = currentDonor;
   }

}

Iбудет устанавливать его для реализации, выполненной где-то еще, вызывая функцию setDonor.

Это ошибка в строке

private currentDonor: <Donor>;

1 Ответ

0 голосов
/ 02 января 2019

Чтобы немного расширить комментарий, который дает правильное решение, символы < и > используются для указания обобщений *, например, если у вас было несколько доноров, вы можете использовать Array<Donor>.

В этом случае у вас просто старый экземпляр Donor, поэтому вам не нужны треугольные скобки. Он должен быть в том же формате, что и ваша строка donorName: string, ожидайте, что тип здесь Donor, а не string.

* Разумеется, они также используются для сравнения «больше / меньше», но я уверен, что вы это уже знаете, и здесь это не имеет значения.

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