angular - Prevrátiť pole na Pole typu Správa


Z API odpovede v Angulari dostávam nasledovné

(response) => {

  let messages: Message[] = response.messages;

  for (let message: Message in messages) {

    let description = message.description;

  }

Ale v let description=message.description; dostávam chybu:

Property 'description' does not exist on type 'string'.

Je to preto, že používam triedu namiesto rozhrania?

Mala by byť správa považovaná za typ Message v mojom kóde?

Odpoveď je niečo ako:

[
  { description: "Some description", type: "1029BA" },
  { description: "Other description", type: "20sdBC" }
]

A Message je trieda.

export class Message {

  description: string;
  type: string;

  constructor(description: string, type?: string) {
    this.description = description;
    this.type = type;
  }    

}

Odpoveď č. 1

Zmeňte svoj cyklus for-in na cyklus for-of, pretože prechádzate kľúčmi a nie hodnotami v poli:

for (let message of messages) {

  let description = message.description;

}