0

私はこのセットアップを持っています:require.js + backbone.js、バックボーンのフェッチ機能を使用してコレクションを設定します

orders.js(コレクション)

define([
  'underscore', 
  'backbone', 
  'models/item'
  ], function(_, Backbone, Item){

    var Orders = Backbone.Collection.extend({

        model: Item,
        url: 'json/items',

        initialize: function(){
        },

  });

  return orders = new Orders();

});

orders.js(ビュー)

define([
  'jquery', 
  'underscore', 
  'backbone',
  'collections/orders',
  'models/item',
  'text!templates/orders.tpl',
  ], function($, _, Backbone, Orders, Item, ordersTemplate){
  var OrdersView = Backbone.View.extend({

    model: Orders,
    template: _.template(ordersTemplate),

    initialize: function() {
        _.bindAll(this);    

        Orders.fetch({ success: function() {
            console.log(Orders.models)
        }});
    },

  });



  return OrdersView;
});

ブラウザーは XHR json/items を検出しますが、Orders.fetch はコレクションにデータを入力しません。

私はすでにこのソリューションBackbone.js + Rest を試しました。コレクションは fetch() の後に移入されませんが、それでも機能しません。データを取得してコレクションに自動的に入力する方法はありますか? または、何か不足していますか?

PS:ブルートコードの投稿で申し訳ありません...

編集: フェッチの成功コールバックは、ブラウザーで XHR によって呼び出されたばかりの json/items 以外は何もしません

編集: order.js のコードを更新し、STORE パラメータを削除しました

編集:このURL http://mindanaojobs.net/backbone/を見て、その中の何かを調べていただければ幸いです.jsfiddleは少しトリッキーなようです

4

1 に答える 1

2

XHR 応答にはオブジェクトの配列が含まれていますか? 次のようなオブジェクトラッパーがある場合

{items: [{...}, {...}]}

次に、それに応じてメソッドを実装する必要がありますparse

はい、私はあなたのコードを見て、あなたの Orders コレクションにこれが必要です:

parse: function (response) { return response.items;}
于 2013-05-03T05:34:04.043 に答える