2012-06-21 18 views
6

私はちょうどbackbone.jsに入っていて、実際にそれに入るための最良の方法は実際にはtodoリストを作ることだと思っていました。ユーモアはさておき、コレクションに属性を追加する方法については、私はgoogleとdocsとstackoverflowを検索しました。だから私の場合、todoリストはlistitemの集合です。しかし、私のデザインによれば、Todo Listはタイトルを持つことができるので、複数のリストを作成できます。Backbone.jsコレクションに属性を設定できますか?もしそうなら、どうですか?

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

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

ありがとうございました!感謝します!

答えて

11

はい、可能です。用

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); 
+0

おかげでたくさん:だからあなたはこのように書くことができる

新しいコレクション([モデル]、[オプション])

Collectionコンストラクタの署名を見てください助けて!それは答えでした:) –

+6

あなたは大歓迎です。しかし、私はもう少しだと思った、そして今私は私の答えはあなたが探しているものではないと思う:)。私はあなたが 'Models'属性と同様に変更イベントにリスナーを追加できるようにしたいと思います。しかし、上記のアプローチではあなたはそれをすることはできません。この 'Collection'プロパティに特別なものは何もないので、それは単なるオブジェクトのプロパティであり、Backboneはそれを使用しません。ですから、あなたの 'TodoList'が入っているもう一つのModelを作るほうがいいと思います。私は少し後で例を挙げます。私はあなたを混乱させて申し訳ありません。 – theotheo

+0

例を見てみたい –

関連する問題