在backbonejs中创建集合时出错

时间:2013-12-23 12:51:00

标签: javascript backbone.js

我正在努力学习脊椎动物和我有一些奇怪的错误,我似乎并不理解 所以基本上我有一个带有ChannelsCollection的Channel,当我尝试在最后一行代码上创建ChannelsCollection时出现错误。

var Channel = Backbone.Model.extend({
    defaults: {
        id: -1,
        name: 'No Name'
    }
});

var ChannelsCollection = new Backbone.Collection.extend({
    model: Channel
});

ch1 = new Channel({
    name: 'Channel 1',
    id: '1'
});

ch2 = new Channel({
    name: 'Channel 2',
    id: '2'
});

var channels = new ChannelsCollection([ch1, ch2]);

http://jsfiddle.net/8U9Lv/

2 个答案:

答案 0 :(得分:1)

你犯了一个错误:

var ChannelsCollection = new Backbone.Collection.extend({   型号:频道 });

在这里删除new

顺便说一句,您不需要将模型传递给Collection。

我们经常将原始对象列表传递给集合。

所以你可以像这样使用它:

ch1 = {
    name: 'Channel 1',
    id: '1'
};
ch2 = {
    name: 'Channel 2',
    id: '2'
};

var channels = new ChannelsCollection([ch1, ch2]);

console.log(channels);

因为我们在这里有model: Channel集合,所以Colletion知道如何处理它。

答案 1 :(得分:0)

我在Backbone.Collection.extend之前写了一个“new”,这引起了一个明显的愚蠢错误。