Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带循环的主干收集推送_Javascript_Backbone.js - Fatal编程技术网

Javascript 带循环的主干收集推送

Javascript 带循环的主干收集推送,javascript,backbone.js,Javascript,Backbone.js,我正在尝试构建一个集合,但需要动态地构建它,因为我不知道要推送多少。现在我做的是, var DataCollection = Backbone.Collection.extend({ model : dataModel }); var dataModel = Backbone.Model.extend({ defaults : { dataID : 'unknown',

我正在尝试构建一个集合,但需要动态地构建它,因为我不知道要推送多少。现在我做的是,

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

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

            }
        });


        var linkPrev = new dataModel({ dataID: "Prev", text: "Prev" });
        var link1 = new dataModel({ dataID: "1", text: "1" });
        var link2 = new dataModel({ dataID: "2", text: "2" });
        var link3 = new dataModel({ dataID: "3", text: "3" });
        var linkNext = new dataModel({ dataID: "Next", text: "Next" });

        var myDataCollection = new DataCollection();
        //myDataCollection.push(linkPrev);
        myDataCollection.push(link1);
        myDataCollection.push(link2);
        myDataCollection.push(link3);
        myDataCollection.push(linkNext);
而不是手动说

link1 = new dataModel({ dataID: "1", text: "1" }); 
myDataCollection.push(link1);
我可以动态创建此列表吗


例如,如果我有4个链接,我希望link4添加dataID:4、TextID:4。。。等等

如果您需要在初始化时填充集合,只需传递一个要填充的对象数组,无需为每个对象创建一个模型,即主干。集合将为您完成:

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

var DataModel = Backbone.Model.extend({
    defaults : {
        dataID : 'unknown',
        text : 'unknown'
    }
});

var myDataCollection = new DataCollection([
    { dataID: "Prev", text: "Prev" },
    { dataID: "1", text: "1" },
    { dataID: "2", text: "2" },
    { dataID: "3", text: "3" },
    { dataID: "Next", text: "Next" }
]);