2011-12-08 5 views
2

http://jsfiddle.net/nf8NM/3/バックボーンコレクションJSONPのAjaxの結果は、これがバックボーンに私の最初の進出で正しく

モデルを生成していないと私は単純にDribbbleからのAPIコールを取得しようとしています。

私はそれをバックボーンネイティブのやり方にしようとしています。しかし、それはコレクションを作る時点で面白い何かをしているようです。

私はこの時点で実際にレンダリングするのには心配していませんが、私はコレクションがApiからの各応答のモデルで適切にセットアップされるようにしたいと思います。

ヒントと方向は素晴らしいです。私は完全にこれをすべて間違ってやっていますか?

答えて

15

あなたの問題がわかりません。あなたのコレクションクラスを少し書き直して問題を分けると、私は完全に有効なモデルになります。

Shot = Backbone.Model.extend({ 
    initialize:function(opts) { 
     console.log("init shot : "+opts.id); 
    } 
}); 
ShotsList = Backbone.Collection.extend({ 
    model: Shot, 
    sync: function(method, model, options) { 
     var params = _.extend({ 
      type: 'GET', 
      dataType: 'jsonp', 
      url: model.url(), 
      processData: false 
     }, options); 

     return $.ajax(params); 
    }, 
    parse: function(response) { 
     return response.shots; 
    }, 

    url: function() { 
     return "http://api.dribbble.com/players/" + encodeURIComponent(this.player) + "/shots?per_page=18"; 
    } 
}); 

s=new ShotsList(); 
s.bind("reset",function(collection) { 
    console.log(collection.models); 
    console.log(collection.pluck("image_teaser_url")); 
}); 
s.player="jordan"; 
s.fetch(); 
+0

ありがとう。私はその問題がどちらであったかはわかりませんが、あなたがそれらを持っていたようにこれを並べ替えた後、いくつかのビットを整理して動作させるように見えました。再度、感謝します。 – mattl

関連する問題