13

モデル内のコレクションに構造を追加する方法についての洞察が欲しいです。私のシンプルなアプリにはチーム (つまり、チーム モデルとチームのコレクション) があり、各チームには多数のプレーヤー (プレーヤー モデルとプレーヤー コレクション) があります。したがって、視覚的な構造は次のようになります。

Team A
   - Player 1
   - Player 2
   - Player 3
Team B
   - Player 1
   - Player 2

等々...

そのようなバックボーン アプリをどのように構築しますか? 1) TeamModel に対応するモデル プロパティを持つ複数のチームを保持する Team Collection があります。2) すべての複数のプレーヤーとモデル プロパティを保持するプレーヤー コレクションは、PlayerModel に対応します。

チーム コレクションとモデルをどのようにして、プレーヤー コレクションとモデルに対応させるかについて、私は混乱しています。つまり、私の設計によれば、3 番目の関係は、各チームがプレイヤーのコレクションを持つことです。ただし、それを実装する方法がわかりません。

4

2 に答える 2

6

次のようなことができます。

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'
});

次に、それぞれのインスタンスを作成してサーバーからデータを収集するときは、すべてのコレクションが読み込まれたらルーターを起動します。そのように動作するはずです。

于 2013-04-14T01:24:06.083 に答える