angular - Chuyển mảng sang Mảng của Kiểu Message
Tôi đang nhận được những điều sau từ phản hồi API trong Angular
(response) => {
let messages: Message[] = response.messages;
for (let message: Message in messages) {
let description = message.description;
}
Nhưng trong let description=message.description; tôi nhận được lỗi:
Property 'description' does not exist on type 'string'.
Có phải vì tôi đang sử dụng một lớp thay vì một giao diện không?
Liệu message có nên được coi là loại Message trong mã của tôi không?
Phản hồi giống như sau:
[
{ description: "Some description", type: "1029BA" },
{ description: "Other description", type: "20sdBC" }
]
Và Message là một lớp.
export class Message {
description: string;
type: string;
constructor(description: string, type?: string) {
this.description = description;
this.type = type;
}
}
Câu trả lời #1
Thay đổi vòng lặp for-in của bạn thành vòng lặp for-of, vì bạn đang lặp qua các khóa chứ không phải giá trị trong mảng:
for (let message of messages) {
let description = message.description;
}
