Sto cercando di capire come creare una raccolta di raccolte con backbone.js. Sono abbastanza nuovo per la spina dorsale. Ho qualcosa di simile la seguente situazione:Backbone.js Raccolta di collezioni
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
In codice di questo è simile a questo:
var trackModel = Backbone.Model.extend({
//trackdata
});
var playlistModel = Backbone.Collection.extend({
model : trackModel,
url : "playlist"
});
var playlistsModel = Backbone.Collection.extend({
url : "playlists",
model : playlistModel //This pretty sure doesn't work like I want, because there is no model attribute for collections :S
});
Tuttavia ricevo sempre un errore nella console js dicendo:
Uncaught TypeError: Object [object Object] has no method '_validate'
quando Provo ad eseguire una funzione che attiva il validate (come add, fetch, ...)
It m non fa differenza se aggiungo la funzione validate
o _validate
a una qualsiasi delle collezioni o dei modelli.
Credo che questo sia dovuto al fatto che backbone.js non supporta le raccolte nelle raccolte. C'è un altro modo in cui funziona?
UPDATE:
Questo è come appare in questo momento
var Track = Backbone.Model.extend({
//trackdata
});
var Tracks = Backbone.Collection.extend({
model:Track;
});
var Playlist = Backbone.Model.extend({
//name : ...
tracks: new Tracks()
});
var Playlists = Backbone.Collection.extend({
url : "playlists",
model : Playlist
});
Sembra che la documentazione backbone includono ora una sezione sui modelli e collezioni annidate, molto simili all'esempio qui: http://backbonejs.org/#FAQ-nested –
In primo luogo - contento che hai risolto il tuo problema. Speriamo che questa sia la risposta per alcuni altri, ma il tuo problema arriva dal modello di dati che definisce erroneamente - non ci sono "playlist" (hai solo molti oggetti playlist, raggruppati in un'unica posizione), i tuoi dati contengono solo "playlist" e " traccia ", e c'è una playlist di relazione 1 può avere molte tracce. Nel tuo semplice esempio (risolto) questo modello è visibile abbastanza chiaro. – Dainius