【发布时间】:2014-02-28 13:56:48
【问题描述】:
我刚开始使用 Backbone.js,并认为我已经理解了它的概念。
背景故事: 我用 jQuery 和 Handlebars 做了一个交互式测验,我现在想迁移到 Backbone。 测验从同一目录中的静态 allQuestions.json 文件中读取所有问题。 该文件如下所示:
{
"Q1" : {"question": "Vem är HON-chattens true Admin?",
"choices": ["Kattigpelika", "Bangan", "Naldor"],
"correctAnswer":0},
"Q2" : {"question":"Vem är chattens true mad son?",
"choices": ["Bangan","Grev3n","Mettapod"],
"correctAnswer":1
}
ETC...
(它的格式正确,因为我以前使用过它(使用 $.getJSON)
我现在正在尝试制作模型:
var Question = Backbone.Model.extend({
initialize:function(){
console.log("Created a model");
}
);
这是集合的一部分:
var Questions = Backbone.Collection.extend({
model : Question,
url : "allQuestions.json"
});
我想要这个功能:
allQuestions.fetch({
success:function(){
console.log(allQuestions);
}
});
为 .json 文件中的每个对象创建一个新模型并将其放入集合中。 这可能吗?我哪里想错了?
这一切都是在我的电脑上本地完成的。
【问题讨论】:
-
您是否尝试过覆盖您的收藏中的“解析”功能? backbonejs.org/#Collection-parse
-
第一次郊游做得很好(在骨干网和 SO 中)。听起来这都是本地的(即没有网络服务器)。正确的?问题是让文件加载还是加载时没有解析?
-
是的,都是本地的。我将在我的帖子中澄清这一点。问题是整个 .json 文件被加载到集合中的单个模型中。我希望 .json 文件中的每个对象都成为集合中的单个模型。
标签: javascript json backbone.js handlebars.js