你可以在Backbone.js集合上设置属性吗?如果是这样,怎么样?

时间:2012-06-21 00:42:06

标签: backbone.js

我刚刚进入backbone.js,我认为进入它的最佳方式是实际构建一个待办事项列表(是的......非常原始)。除了幽默,我已经搜索了谷歌和文档以及stackoverflow,当然,这是一种向集合添加属性的方法。因此,在我的情况下,待办事项列表是列表项的集合。但是根据我的设计,Todo List可以有一个标题,我希望能够创建多个列表。

var TodoList = Backbone.Collection.extend({
    model: ListItem
});

//is this possible for collections?
var newTodoList = new TodoList({name: "My first list"}); 

非常感谢您的帮助!欣赏它!

1 个答案:

答案 0 :(得分:11)

是的,这是可能的。查看Collection构造函数的签名:

  

new Collection([models],[options])

所以你可以这样写:

var ListItem = Backbone.Model.extend({});
var TodoList = Backbone.Collection.extend({
    model: ListItem,
    initialize: function(models, options) {
        options || (options = {});
        if (options.title) {
            this.title = options.title;
        };
    }
})

var iPromise = new TodoList([], {
    title: 'NY Resolutions'
})

console.log(iPromise.title);