2

Backbone.jsを学習しようとしている間、私は次のコードを使用してJSONファイルのコンテンツを取得しようとしています。

(function($){
    var MyModel = Backbone.Model.extend();
    var MyCollection = Backbone.Collection.extend({
        model : MyModel,
        url: '/backbone/data.json',
        parse: function(response) {
          console.log(response);
          return response;
        }
    });

    var stuff = new MyCollection;
    console.log(stuff.fetch());
    console.log(stuff.toJSON());
})(jQuery)

'stuff.fetch()'はオブジェクト全体(responseTextで取得したデータを含む)を返し、'stuff.toJSON'は何も返しません([])が、parseメソッドのコンソールは正確に必要なものを返します(私のデータのjsonオブジェクト)。

ここで明らかな何かが欠けているように感じますが、正しいデータを取得できない理由を理解できないようです。誰かが私を正しい方向に向けたり、私がここで間違っていることを教えてもらえますか?間違ったものにモデルを使用していますか?

4

1 に答える 1

6

fetchは非同期呼び出しであるため、応答を取得する場合はsuccess、引数にコールバックを渡します。

stuff.fetch({
  success: function (collection, response) {
    console.log(response);
  }
})

Backbone.jsホームページの詳細

于 2012-06-07T04:37:07.190 に答える