1

我正在尝试使用 BackBone 集合构建列表。由于某种原因,我无法将它们打印在页面上。

js文件

var DataCollection = Backbone.Collection.extend({
            model : dataModel
        });

        var dataModel = Backbone.Model.extend({
            defaults : {
                dataID : 'unknown',
                text : 'unknown',

            }
        });

        var link1 = new dataModel({ dataID: "1", text: "OMC" });
        var link2 = new dataModel({ dataID: "2", text: "Marvin Gaye" });
        var link3 = new dataModel({ dataID: "3", text: "OMC" });

        var myDataCollection = new DataCollection([ link1, link2, link3]);


   var threatData = {

                myDataCollection: myDataCollection
        };

    var compiledTemplate = Handlebars
                .compile(myTemplate);
        $('#myTable').html(
                compiledTemplate (threatData));

.html 文件

<ul id="Linklist">
             {{#each myDataCollection}}
                <li><a data-id="{{dataID}}" href="#">{{text}}</a></li>
             {{/each}}
        </ul>
4

1 回答 1

1

要使模板渲染工作,您需要首先将 Backbone 集合转换为 JSON。

var threatData = {
            myDataCollection: myDataCollection.toJSON()
    };

演示

于 2012-10-19T06:29:52.590 回答