Как использовать несколько моделей внутри сервиса в приложении Angular / Ioni c? - PullRequest
0 голосов
/ 03 апреля 2020

В моем приложении Angular / Ioni c я пытаюсь создать 2 модели ниже (беседа и сообщение) и использовать их в моей службе бесед.

Когда пользователи входят в систему, они должны см. список предыдущих разговоров, которые они имели с механикой (также с пользователями, но с другим userType ).

Когда они нажимают на разговор, они выводятся на экран Conversation_Detail, который показывает все сообщения, которые являются частью этого диалога.

На Conversation_Detail пользователи и механики могут отправлять новые сообщения. Эти новые сообщения будут добавлены к существующему разговору.

Вот мои модели:

conversation.model.ts

export class Conversation {
    constructor(
        public id: string,
        public userId: string,
        public mechanicId: string,
        public messages: Array<string>,
    ) { }
}

message.model.ts

export class Message {
    constructor(
        public id: string,
        public text: string,
        public userId: string,
        timestamp: string
    ) { }
}

Как вы можете видеть выше, я пытаюсь подключить несколько сообщений к одному разговору.

И вот здесь я пытаюсь создать фиктивный разговор:

Conversations.service.ts

private _conversations: Conversation[] = [
    new Conversation('c1', 'abc1', 'def2', ['Hi', 'What is your issue?'])
  ];

Может кто-нибудь сказать, как правильно связать беседы и сообщения, чтобы я мог использовать их в службе бесед?

1 Ответ

0 голосов
/ 03 апреля 2020

Я попытался исправить это, и вот то, что я придумал, тестируя это в данный момент, обновит, работает ли оно или нет:

conversations.service.ts

private _conversations: Conversation[] = [
    new Conversation(
      'c1',
      'abc1',
      'def2',
      [new Message('mess1', 'Test message', 'abc1', '01/01/2020')])
  ];

conversation.model.ts

import { Message } from './message.model';

export class Conversation {
    constructor(
        public id: string,
        public userId: string,
        public mechanicId: string,
        public messages: Message[],
    ) { }
}

message.model.ts

export class Message {
    constructor(
        public id: string,
        public text: string,
        public userId: string,
        timestamp: string
    ) { }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...