Я пытаюсь понять, как сделать Коллекцию коллекций с помощью backbone.js. Я новичок в бэкбоне. У меня есть что-то вроде следующей ситуации:
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
В коде это похоже на это:
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
});
Однако я всегда получаю сообщение об ошибке в консоли js, говорящее :
Uncaught TypeError: Object [object Object] has no method '_validate'
, когда я пытаюсь выполнить функцию, которая запускает проверку (, например добавить, fetch,...)
Не имеет значения, добавляю ли я функцию validate
или _validate
к любой из коллекций или моделей.
Думаю, это связано с тем, что backbone.js не поддерживает коллекции в коллекциях. Есть ли другой работающий способ?
ОБНОВЛЕНИЕ:
Вот как это выглядит сейчас
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
});