我的应用程序有一个自动完成的文本元素,当选择了所选项时,会有一个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不太熟悉,无法理解框架的最佳模式。
答案 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?