Tôi đang cố gắng tìm ra cách tạo Bộ sưu tập các bộ sưu tập với backbone.js. Tôi khá mới để xương sống. Tôi có một cái gì đó giống như tình huống sau đây:Backbone.js Bộ sưu tập của Bộ sưu tập
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
Trong mã này trông tương tự như sau:
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
});
Tuy nhiên tôi luôn nhận được một lỗi trong js console nói:
Uncaught TypeError: Object [object Object] has no method '_validate'
khi Tôi cố gắng thực hiện một hàm kích hoạt xác thực (như thêm, tìm nạp, ...)
Nó m akes không có sự khác biệt nếu tôi thêm hàm validate
hoặc _validate
vào bất kỳ bộ sưu tập hoặc mô hình nào.
Tôi tin rằng điều này là do backbone.js không hỗ trợ các bộ sưu tập trong bộ sưu tập. Có cách nào khác hoạt động không?
UPDATE:
Đây là cách có vẻ ngay bây giờ
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
});
Hình như các tài liệu xương sống hiện nay bao gồm một phần trên các mô hình lồng nhau & các bộ sưu tập, rất giống như ví dụ ở đây: http://backbonejs.org/#FAQ-nested –
Đệ Nhất - vui mừng bạn đã giải quyết vấn đề của bạn. Hy vọng rằng đây sẽ là câu trả lời cho một số người khác, nhưng vấn đề của bạn đến từ mô hình dữ liệu xác định sai - không có "danh sách phát" (bạn chỉ có nhiều đối tượng danh sách phát được nhóm thành một nơi), dữ liệu của bạn chỉ chứa "danh sách phát" và " theo dõi "và có 1 danh sách phát có liên quan có thể có nhiều bản nhạc. Trong ví dụ đơn giản (đã được giải quyết) của bạn, mẫu này có thể nhìn thấy khá rõ ràng. – Dainius