私はbackbone.jsでコレクションのコレクションを作成する方法を理解しようとしています。私はバックボーンにはかなり新しいです。私は、次のような状況のようなものがありますと言って、私は常に、JSコンソールにエラーが表示さしかしBackbone.jsコレクションのコレクション
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
});
:コードで
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
この本に似ていますが
Uncaught TypeError: Object [object Object] has no method '_validate'
私はバリデーションをトリガする関数(add、fetch、...のような)を実行しようとします。
それmどのようなコレクションやモデルにvalidate
または_validate
関数を追加しても違いはありません。
これは、backbone.jsがコレクションのコレクションをサポートしていないためです。そこに別の方法がありますか?
UPDATE:
これは、それがモデルにコレクションからあなたのPlaylist
を回して、今
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
});
バックボーンのドキュメントは、今ここでの例と非常によく似た、ネストされたモデル&コレクションのセクションが含まれるようになっていますhttp://backbonejs.org/#FAQ-nested –
最初に - あなたはあなたの問題を解決し嬉しいし。うまくいけば、これは他の人の答えになるだろうが、間違ってデータモデルを定義することで問題が発生する - プレイリストがない(1つの場所にグループ化されたプレイリストオブジェクトが多数ある)、データには "プレイリスト" 1つのプレイリストには多くのトラックを持つことができるリレーションがあります。あなたの単純な(解決された)例では、このパターンはきれいに見えます。 – Dainius