Я пишу приложение Angular2. Я хочу отображать сообщения, используя интерфейс и массив, содержащий все сообщения. Вот интересная часть моей машинописи компоненты:Angular2 Массив интерфейса TypeScript не работает
export class ChatComponent
{
messages: message[];
constructor()
{
this.messages.push({from: 'me', time: new Date().getTime(), type: 'text', value: 'Hallo Welt!', sent: new Date().getTime(), delivered: 0, read: 0});
}
}
interface message
{
from: string;
time: number;
type: string;
value: string;
sent: number;
delivered: number;
read: number;
}
Как вы можете видеть из машинописи стороны вещей все выглядит хорошо (я думаю). Отображение материала в шаблоне работало нормально, в этом случае я использую следующее:
<div class = "message" *ngFor = "let message of messages">
<div>{{message.value}}</div>
<div>{{message.time}}</div>
</div>
Когда только используя массив и заполнить его с объектами, эта установка работает нормально. Но как только я использую интерфейс message
и массив я получаю
EXCEPTION: Error in :0:0 caused by: this.messages is undefined
Я чувствую, что это какая-то глупая ошибка или недоразумение, но не смог найти что-нибудь полезное. Почему не должно быть this.messages
?
«Но как только я использую сообщение интерфейса и массив, я получаю», как вы используете «сообщения интерфейса» получить эту ошибку? –
Ну, честно говоря, я не знаю другого способа выразить это? Извините, я новичок в TypeScript ... – flyingPotat0
Было бы неплохо, если бы можно было понять, почему возникает вопрос об уменьшении. Мне нужна информация, чтобы поправиться. – flyingPotat0