填充从对象JSON中的嵌套数组中选择

时间:2015-07-20 19:51:41

标签: backbone.js backbone-collections

我的应用程序有一个自动完成的文本元素,当选择了所选项时,会有一个RESTful ajax调用查询二级系统,该系统返回所选对象的详细版本以及一个数组。它看起来像这样:

price.setText(GridItem.get(position).getPrice()+"");

最初,我使用Collection进行查询,但我并没有真正返回Collection。我正在使用嵌套Collection返回单个对象。所以我的问题是,查询此对象的适当Backbone方法是什么,然后使用嵌套的{ "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" } ] } 集合填充SELECT元素?

在骨干之外,我会做一个简单的agents调用,然后解析响应。我对Backbone不太熟悉,无法理解框架的最佳模式。

1 个答案:

答案 0 :(得分:0)

处理它的一种方法是创建嵌套模型&收藏品,我通常采用这种方法。一种可能的实现方式是:

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?