2012-06-21 18 views
6

Ben sadece backbone.js içine alıyorum ve içine almak için en iyi yol aslında bir todo listesi (evet ... orijinal) oluşturmak için olduğunu düşündüm. Mizah bir yana, koleksiyona bir özellik eklemenin bir yolu olarak, google'u ve elbette dokümanları ve yığın akışını araştırdım. Yani, benim durumumda yapılacaklar listesi bir liste koleksiyonudur. Ancak bir Todo Listesi'nin tasarımına göre bir başlığı olabilir, birden çok liste oluşturabilmek istiyorum.Backbone.js Koleksiyonlarındaki öznitelikleri ayarlayabilir misiniz? Öyleyse nasıl?

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

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

Yardımlarınız için çok teşekkürler! Takdir ederim!

cevap

11

Evet, mümkün. için

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

Çok teşekkürler: Yani böyle yazabilirsiniz

yeni Koleksiyonu ([modeller], [seçenekler])

: Collection yapıcı imzası bak yardım et! Bu cevap oldu :) –

+6

Rica ederim. Ama biraz daha düşündüm ve şimdi cevabım aradığınız şey değil :). Değişim etkinliğine dinleyicileri ekleyebilmenizin yanı sıra, 'Models' nitelikleriyle de yapabileceğinizi varsayalım. Ama yukarıda belirtilen yaklaşım ile bunu yapamazsınız. Çünkü bu 'Koleksiyon' özellikleri hakkında özel bir şey olmadığı için - sadece nesne özellikleri ve Backbone herhangi bir şekilde kullanmaz. Bu yüzden başka bir Model oluşturmak daha iyi olurdu diye düşünüyorum 'TodoList'. Biraz sonra bir örnek vereceğim. Üzgünüm, kafamı karıştırırsam. – theotheo

+0

örneğini görmek için sabırsızlanıyorum :) –

İlgili konular