1

私は Backbone.js を初めて使用し、次の 3 つのことを理解しようとしています。1) カスタム JSON 要求を呼び出す方法と場所は? 2) その JSON リクエストをモデルに変換する方法は? 3) これらのモデルのコレクションを作成する方法は?

私のJSONは次のようになります。

{"flavor": "vanilla", 
 "message": "ok", 
 "count": 10,
 "rows": [{"data":["this", "is", "123", "something"],
           "moreData": "more stuff here",
           "moreInfo": "more info here"},
          {"data":["even", "more", "456", "something"],
           "moreData": "even more stuff here",
           "moreInfo": "even more info here"},
          {"data":["it", "doesn't", "123", "end"],
           "moreData": "more and more stuff here",
           "moreInfo": "more and more info here"}]
}

各「データ」をアイテムにしたい。リストに多くのアイテムを含めたい。

カスタム JSON リクエストを作成する必要があります ($.ajax などを介してではなく、コールバック オプションを提供する特定の関数を介して呼び出す必要がある別のライブラリにあります)。バックボーンでこの呼び出しを行いますか? .Model または Backbone.View?

基本的に、取得する JSON 応答形式は制御できないため、上記の乱雑なサンプルになります。おまけとして、この JSON の一部をより適切な属性にフォーマットしたいと思います。Itemモデルでやりたいと思っていました。

そのリクエストをモデルに変換するにはどうすればよいですか? 特定の属性を変更する必要がある場合は?

これらのモデルのコレクションを作成するにはどうすればよいですか? これまでのところ、

    var ItemList = Backbone.Model.extend({

    })

    var ItemLists = Backbone.Collection.extend({

      model: ItemList,

    });

    var ItemView = Backbone.View.extend({

      el: $("#dashboard"),

      template: _.template($("#item-template")),

      initialize: function(){
        this.render();
      },

      render: function(){
        var item = new Item();
        var content = this.template(item);
        $(this.el).html(content);
      }
    }); 

Backbone.js の専門家の皆さん、助けてください。これは、経験のある人にとっては比較的簡単な質問です。

4

1 に答える 1

2
var ItemList = Backbone.Model.extend({
    parse: function(response) {
        // response = {"data":["this", "is", "123", "something"],
        // "moreData": "more stuff here",
        // "moreInfo": "more info here"}
        // You can make additional changes here
        return response;
    }
});

var ItemLists = Backbone.Collection.extend({

  model: ItemList,
  parse: function(response) {
      return response.rows;
  }

});

これはあなたが考えていたことですか?これはrowsと を取り、それぞれを にしItemListます。必要に応じて、解析内で他の操作を行うことができます。次に、 を設定しurlて使用できますfetch

于 2013-08-12T19:21:07.723 に答える