Je suis nouveau à Backbone et j'ai un problème concernant les modèles imbriqués. Ici, j'ai data.json où je suit JSON:Modèles imbriqués dans Backbone
[
{
"name": "Project",
"description" : "This is a Peugeot website",
"url" : "http://peugeot.am",
"images" : [
{ "image" : "A", "thumb" : "a" },
{ "image" : "B", "thumb" : "b" },
{ "image" : "C", "thumb" : "c" }
]
},
{
"name" : "Ararat",
"description" : "This is a Ararat website",
"url" : "http://ararat.am",
"images" : [
{ "image" : "A", "thumb" : "a" },
{ "image" : "B", "thumb" : "b" },
{ "image" : "C", "thumb" : "c" }
]
},
{
"name" : "Procredit Bank",
"description" : "This is a Procredit Bank website",
"url" : "http://procredit.am",
"images" : [
{ "image" : "A", "thumb" : "a" },
{ "image" : "B", "thumb" : "b" },
{ "image" : "C", "thumb" : "c" }
]
}
]
Dans Backbone Je suis en train de récupérer les données, mais je reçois un tableau vide.
var myapp = myapp || {};
$(function() {
myapp.Image= Backbone.Model.extend({
initialize: function() {
this.Img = this.get('image');
this.Thumb = this.get('thumb');
}
});
myapp.Images= Backbone.Collection.extend({ model: myapp.Image });
myapp.Item= Backbone.Model.extend({
initialize: function() {
this.Name = this.get('name');
this.Description = this.get('description');
this.URL = this.get('url');
this.subs = new myapp.Images(this.get('images'));
}
});
myapp.Items= Backbone.Collection.extend({
model: myapp.Item,
url: 'content/js/data.json',
parse: function (resp, xhr) { return JSON.parse(resp); }
});
var items = new myapp.Items();
items.fetch();
console.log(items.toJSON());
});
Maintenant, qu'est-ce que je fais mal ci-dessus? J'ai besoin de récupérer des données pour obtenir JSON afin de commencer à manipuler avec lui.
Merci d'avance!
Merci pour les liens! –
Je n'ai pas eu de gros problèmes avec l'utilisation de la sous-collection en une fois, j'ai utilisé une structure de données similaire - ce n'est pas très bien documenté. – Marcus