我正在使用主干构建我的第一个真正的 Web 应用程序,并且我正在为嵌套资源而苦苦挣扎。
这是我正在使用的 json 响应的简化版本:
{
"id": 1,
"title": "Test Survey",
"groups": [
{
"id": 1,
"title": "Basic Questions",
"questions": [
{
"id": 1,
"title": "Which is your favorite color?"
},
{
"id": 2,
"title": "Do you have any other hobbies?"
}
]
},
{
"id": 2,
"title": "Working Questions",
"questions": [
{
"id": 3,
"title": "Do you think working exp is very important?"
}
]
}
]
}
基本上有一个调查对象,它有很多组,每个组有很多问题。
我似乎找不到将所有这些数据放入模型/集合的好方法。
我目前拥有的是:
// Models
var Question = Backbone.Model.extend({});
var Group = Backbone.Model.extend({});
var Survey = Backbone.Model.extend({ url: surveyURL });
// Collections
var GroupsCollection = Backbone.Collection.extend({});
var QuestionsCollection = Backbone.Collection.extend({});
//Views
var SurveyView = Backbone.View.extend({
..
});
var GroupsCollectionView = Backbone.View.extend({
..
});
var QuestionsCollectionView = Backbone.View.extent({
..
});
var survey = new Survey({ groups: new GroupsCollection({model: Group}) });
var groupsView = new GroupsCollectionView({collection: survey.get('groups')});
这似乎适用于在调查模型中嵌套组,但是如何将问题存储在集合中,然后将其分配给组集合中的每个模型?
如前所述,我对骨干比较陌生,所以如果我走的是完全错误的道路,或者有更好的方法可以做到这一点,请告诉我。
干杯。