【发布时间】:2020-04-03 14:51:09
【问题描述】:
在我的 Angular / Ionic 应用程序中,我尝试在下面创建 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?'])
];
谁能告诉我如何正确链接对话和消息,以便我可以在对话服务中使用它们?
【问题讨论】:
-
一个想法是在构造函数中使用这个消息数组来保存消息ID,这样你就可以在你想要的时候得到消息。
-
或者,如果您使用对象数组,则可以将每条消息直接保存在其中,而不是字符串数组。喜欢(...,消息:消息[])
-
嗨@LucasLeandro 感谢您的回复。您可以在下面的答案中发布这些更改吗?只是为了让我能正确理解你的建议。
-
当然可以,但在此之前,请解释一下你想用更多细节做什么?就像,整个流程。这样我们就可以思考这个过程,也许可以给出更准确的答案
-
@LucasLeandro 没问题,会用这些细节更新我的问题,谢谢
标签: angular typescript