Ich hätte gerne einen Einblick, wie man eine Sammlung innerhalb eines Modells strukturieren würde. Meine einfache App hat Teams (also ein Teammodell und eine Sammlung von Teams) und jedes Team hat eine Menge Spieler (Spielermodell und Spielersammlungen). So eine visuelle Struktur ist es etwa so:Wie platziert man eine Sammlung in einem Modell in Backbone.js?
Team A
- Player 1
- Player 2
- Player 3
Team B
- Player 1
- Player 2
und so weiter ...
Wie würde eine Struktur, wie ein Rückgrat app? Hier ist, wie ich es bis jetzt plane: 1) Ich hätte eine Teamkollektion, die mehrere Teams halten würde, deren Modelleigenschaft dem TeamModel entspricht. 2) Eine Player Collection, die alle Multiplayer und Modelleigenschaften enthält, entspricht dem PlayerModel.
Jetzt bin ich verwirrt darüber, wie ich die Team Collection und Model, mit der Player Collection und Model entsprechen würde. I.e. Nach meinem Entwurf wäre eine dritte Beziehung, dass jedes Team eine Sammlung von Spielern haben würde. Ich bin mir jedoch nicht sicher, wie ich das umsetzen soll.
App.Models.Player = Backbone.Model.extend({});
App.Collections.Players = Backbone.Collection.extend({
model: App.Models.Player,
url: 'players',
getTeam: function(idTeam){
var gf = _.filter(this.models, function(model){
return (
model.get('idTeam') == idTeam
);
});
return gf;
}
});
App.Models.Team = Backbone.Model.extend({
players: players(this.get('id')) // asuming that players is an App.Collections.Players instance.
});
App.Collections.Team = Backbone.Collection.extend({
model: App.Models.Team,
url: 'teams'
});
Und dann, wenn Sie die Instanzen von jedem und sammeln Daten von dem Server zu erstellen, starten Sie den Router einmal alle Sammlungen bevölkert wurden:
Dies hilft. Vielen Dank. –
@ clockwork189 Btw, ich habe es nicht präzisiert, aber Sie können es nicht in die * defaults * setzen. Andernfalls teilen alle Ihre Instanzen dieselbe Sammlung. – Loamhoof