Omurga js kullanarak bir koleksiyon koleksiyonu oluşturmaya çalıştığınızda bir isssue çalışıyorum. İşte kod:Backbone js koleksiyonları koleksiyon sorunu
Modeller ve Koleksiyonları: Çalma listesi toplama
var Track = Backbone.Model.extend({
defaults : {
title : ""
}
})
var TrackCollection = Backbone.Collection.extend({
model : Track,
})
var Playlist = Backbone.Model.extend({
defaults : {
name : "",
tracks : new TrackCollection,
}
})
var PlaylistCollection = Backbone.Collection.extend({
model : Playlist,
})
Oluşturma: Burada
var playlists = new PlaylistCollection;
// create and push the first playlist
playlists.push({ name : "classic" });
// create and push a track in the playlist just created
playlists.last().get("tracks").push({ title : "fur elise" });
// create and push the second playlist
playlists.push({ name : "c2c" });
// create and push a track in the playlist just created
playlists.last().get("tracks").push({ title : "fuya" });
// display first playlist
console.log(JSON.stringify(playlists.at(0).toJSON()))
// display second playlist
console.log(JSON.stringify(playlists.at(1).toJSON()))
çıktısı:
{"name":"classic","tracks":[{"title":"fur elise"},{"title":"fuya"}]}
{"name":"c2c","tracks":[{"title":"fur elise"},{"title":"fuya"}]}
sorundur, Çıktıda görebileceğimiz gibi, 2 çalma listesinde 2 parça "fur elise" ve "fuy" var Bir".
Sorunun nedeni nedir? ve sadece "c2c" adlı ikinci çalma listesinde "klasik" ve "fuya" adlı ilk çalma listesinde "kürk elise" elde etmek için ne yapmalıyım?
Teşekkür ederiz. yeni örneklerini oluştururken
var Playlist = Backbone.Model.extend({
defaults : {
name : "",
tracks : new TrackCollection,
}
});
Omurga defaults
sığ-kopyalar:
Tamamen haklısınız, örnekte varsayılanların bir kopyasını yaptığını sanmıştım. Neyse, cevabınız için çok teşekkürler! – Kraoz
Bu harika bilgi ve çok uygun ama başlatma yönteminde yeni bir koleksiyon oluşturmak için daha kolay ve daha açık olabilir mi? –
@AlexMills: Belki.Söyleyecekleri durum hakkında yeterince bilgim yoktu. Bu cevap daha çok "eğer bunu yapacaksan, o zaman böyle yap" gibi bir şey. –