把手访问[对象]?

时间:2014-03-21 01:44:56

标签: javascript backbone.js handlebars.js

所以在模型中我有这样的结构。以下是结构示例。

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

我当然使用主干牵线木偶和把手,我有一个集合视图,起初只是模型的集合。

var Marionette = require('backbone.marionette');

var ChatView = Marionette.ItemView.extend({
    template: require('../../templates/message.hbs')
});

module.exports = CollectionView = Marionette.CollectionView.extend({
    initialize: function() {
        this.listenTo(this.collection, 'change', this.render);
    },
    itemView: ChatView
});

然后在/message.hbs中,模板基本就是这样。

<div class="message"><b>{{username}}:</b>{{message}}</div>

如果您查看message上方的结构,那么显然是[object object]

因此,对于我确定简单明了的问题,如何为message:属性中的每个对象循环此视图,以便模板本身循环。我想我说得对。

理想情况下在模型中创建一个集合会很不错,但我不知道message:中的对象如何以一种普通的方式构建。

所以说我希望有一种方法可以使用backbone / backbone.marionette和handlebars循环这些对象。

由于

1 个答案:

答案 0 :(得分:1)

在模板中,使用#each:

<div class="message">
    <b>{{username}}:</b>
    {{#each message}}
        <div>{{this}}</div>
    {{/each}}
</div>