从对象 JSON 内的嵌套数组填充 Select

Populating Select From nested array inside object JSON

My application has an auto-complete text element and when the selected item is chosen, there is a RESTful ajax call that queries a secondary system which returns a detailed version所选对象的连同数组。它看起来像这样:

{
    "state": "GA",
    "name": "Some Name",
    "status": "Appointed",
    "address2": "",
    "phone": "555-555-5555",
    "postalCode": 7777777,
    "agents": [
        {
            "middleName": "Rhett",
            "firstName": "Elmer",
            "id": 123456,
            "email": "",
            "documentDeliveryOptions": [],
            "lastName": "Butler Jr"
        },
        {
            "middleName": "Alvin",
            "firstName": "Frank",
            "id": 9123456,
            "email": "",
            "documentDeliveryOptions": [],
            "lastName": "Brown Jr"
        }
    ]
}

最初,我使用集合进行查询,但我并没有真正返回集合。我正在返回一个带有嵌套集合的单个对象。所以我的问题是,查询此对象然后使用 agents 的嵌套集合填充 SELECT 元素的适当 Backbone 方法是什么?

在 backbone 之外,我会进行一个简单的 $.getJSON() 调用,然后解析响应。我只是对 Backbone 不够熟悉,无法理解框架的最佳模式。

一种处理方法是创建嵌套模型和集合,我通常采用这种方法。一种可能的实现可以是:

var AgentsCollection = Backbone.Collection.extend({});

var SomeModel = Backbone.Model.extend({
  initialize: function(){
    this.agents = new AgentsCollection;  
  }
});
...
changeAutoSelect: function(){   //called when an item in auto-select is selected
  (new SomeModel()).fetch().done(function(){
    //render select here
  }
}
...

参考资料:

http://backbonejs.org/#FAQ-nested

Can we omit parentheses when creating an object using the "new" operator?