我试图找出如何使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'
当我尝试执行触发验证功能(如添加,获取,...)
这没有什么区别,如果我添加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
});