1

Backbone は初めてで、以前は ExtJS を使用していました。私の目標は、バックボーン コレクションにデータを入力することです。今... ExtJS では、コレクションに属する .load() メソッドを使用していたよりもコレクションをロードしたい場合。バックボーンのドキュメントを読んでいると、ほとんどの場合、「モデル」に割り当てられた取得/同期メソッドがあることがわかります。だから私の質問は:

「バックボーンのコレクションをロードしたい場合、直接ロードするか、「モデル」経由でロードする必要がありますか?」

4

1 に答える 1

2

バックボーン コレクションは、バックボーン モデルのコレクションにすることができます。コレクションを次のように設定した場合:

YourCollection = Backbone.Collection.extend({
    model: YourModel,
    url: '/url/to/json/collection';
    }
});

そしてあなたのモデルは次のとおりです:

YourModel = Backbone.Model.extend({
    url: '/url/to/json/model';
    }
});

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

var collection = new YourCollection();
collection.fetch(); //GETs /url/to/json/collection

パス/url/to/json/collectionは、配列内の各要素がモデルの JSON になる JSON 配列を返す必要があります。

パス/url/to/json/modelは、1 つのモデルを表す JSON を返す必要があります。

サーバーから返された JSON に のようなプロパティがあると想像すると"name"、興味深いことができますcollection.where({name: 'some name'})。これは、s を含む配列を返しYourModelます。

したがって、最初の質問に答えると、はい、バックボーンのコレクションを介してロードする必要があります。

于 2013-08-09T12:10:35.483 に答える