骨架模型结构

Backbone model structure?

本文关键字:结构 模型      更新时间:2023-09-26

我需要跟踪一个用户模型的消息集合,起初我认为这将是一个很好的模型结构。

var myModel = {
    _id: 798698,
    username: "John",
    message: {
        message1: "Some cool messsage",
        message2: "I'm mad Ohio State lost"
    }
}

然后我想,如果我想按照从旧到新的顺序呈现来自所有用户的所有消息,我可以添加一个时间戳。这就意味着我需要扩展模型。

var myModel = {
    _id: 798698,
    username: "John",
    message: {
        message1: {message: "Some cool messsage", sent: "3/22/2014 12:20"},
        message2: {message: "I'm mad Ohio State lost", sent: "3/22/2014 12:21"}
    }
}

对我来说,这是一个很好的结构,但我知道什么,我是新的。

这带来了一些关于主干的问题。如果我对所有消息都有一个集合视图,那么单个模型的itemView将每个都包装在一个el中。所以我可以使用句柄条循环上面的消息对象,但它会像这样呈现。

<div class="model">
    <div class="message">
        John: Some cool message
    </div>
    <div class="message">
        John: I'm mad Ohio State lost
    </div>
</div>

您看到上面的内容被包装了,所以这意味着如果有另一个用户模型。

var myModel2 = {
    _id: 798698,
    username: "Scottie",
    message: {
        message1: "Hey guys",
        message2: "I am the SEC player of the year."
    }
}

视图不会呈现消息列表,而是模型块,如下所示。

<div class="model">
    <div class="message">
        John: Some cool message
    </div>
    <div class="message">
        John: I'm mad Ohio State lost
    </div>
</div>
<div class="model">
    <div class="message">
        Scottie: Hi Guys
    </div>
    <div class="message">
        Scottie: I am the SEC player of the year.
    </div>
</div>

我正在想一个结构,我可以呈现一个列表,并按时间发送的顺序。

例如,如果convo去…约翰,斯科蒂,约翰,斯科蒂……我可以这样渲染

<div class="message">
    John: Some cool message
</div>
<div class="message">
    Scottie: Hi Guys
</div>
<div class="message">
    John: I'm mad Ohio State lost
</div>
<div class="message">
    Scottie: I am the SEC player of the year.
</div>

那么,我应该创建两个集合并将消息模型与用户模型相关联,还是有一种方法可以按照我的方式构建模型并使其与backbone很好地配合?哪个更好,我就选哪个,我想要一个简短的解释。那真是太棒了!

谢谢!

看一下Backbone。关系:

http://backbonerelational.org/