[英]Import json in backbone View
我刚接触骨干,但我仍然习惯于所有流程。我想做的是在模型中导入data.json
文件,并在我的视图中使用它。
data.json
[
{ id: "001", student: "Mark" },
{ id: "002", student: "Sally" },
{ id: "003", student: "Harold" }
]
asset / data.js(模型)
var DataModel = Backbone.Model.extend({
url: 'assets/data.json',
initialize: function() {
// this logs properly
console.log('this initializes');
}
})
data_view.js
var Students = Backbone.View.extend({
initialize: function() {
var data = new DataModel();
data.fetch();
// doesn't return json
console.log(data);
}
})
像这样的数据日志...
v __proto__: Backbone.Model
> constructor: ()
> initialize: ()
url: "assets/data.json"
> __proto__: Object
我所有的导入都是正确的,但是为什么我的json无法加载到我的视图中呢? 我究竟做错了什么? (我尝试过制作一个集合,但是效果相同;找不到json)
因为fetch使用的是jQuery Ajax,所以它是异步的。 如果在调用fetch之后立即记录数据,则不会从服务器提取数据。 您应该执行以下操作:
data.fetch({
success: function(model, response, options) {
console.log(model);
},
error: function() {
}
});
链接参考: http : //backbonejs.org/#Model-fetch
使用JQuery:
var DataModel = new DataModel();
$.when(DataModel.fetch()).then(function() {
var students = new Students({model: DataModel });
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.