【发布时间】:2012-11-13 09:08:06
【问题描述】:
我有以下代码,想知道为什么我的数据没有被提取到我的模型中?我正在使用静态 json 文件,我猜这可能是我的问题,但似乎找不到任何有关它的文档。
var DataModel = Backbone.Model.extend({
initialize: function () {
console.log('initiliazed model')
},
url: "data/data.json"
});
var StructureView = Backbone.View.extend ({
initialize: function () {
console.log('initiliazed view')
_.bindAll(this);
this.model.fetch();
this.render();
this.model.on('change',this.render);
},
el : '#ev-wrapper',
render: function () {
$('#ev-wrapper').empty().append(Handlebars.compile($('#ev-template').html())(this.model.toJSON()));
$('.ev-asset-loader').fadeOut('slow');
}
});
var structureView = new StructureView({model: new DataModel()});
【问题讨论】:
-
你能看到你的开发工具收到的数据吗?
-
我可以......并且愚蠢地意识到我正在加载我的旧 json 文件。就像一个快速的问题 - 如果我使用 model.save() 这会写一个新的 json 文件吗?
-
不,它不会写一个新的 json 文件。如果模型不存在,model.save() 将发送一个 POST 请求,如果它已经存在,则发送一个 PUT 请求。 (它默认检查模型 ID 以确定这一点)。如果您想在本地测试并编写新的更改等,请同时查看使用 localstorage
-
谢谢...我觉得没有足够的关于模型和视图关系的文档——我的应用几乎不会使用集合——所以所有教程都倾向于使用集合。
-
您只需要一点时间就可以理解,我们都去过那里。祝你写出你的第一个主干应用程序好运!
标签: json url backbone.js model fetch