我在json文件中加载一个对象列表并在表格中显示它们。到目前为止我没有问题,问题是要详细显示对象。要检索对象的完整版本以向对象/ id服务器(实际上是文件)发出请求并进行恢复。
我的模特:
var RecursoModel = Backbone.Model.extend({
urlRoot: "assets/data/recursos",
idAttribute: 'id',
defaults: {id: null, nome: '', tipo: ''}
});
在我的代码中router.js的详细功能如下:
detail : function(id) {
var recurso = new RecursoModel({id:id});
recurso.fetch();
var recursoDetailTemplate = _.template(this.loadTemplate('recursoModelDetail'));
this.recursoDetailModelView = new RecursoModelDetailView({
template : recursoDetailTemplate,
recurso : recurso
});
this.changeView(this.recursoDetailModelView);
},
changeView : function(newView) {
if(newView && this.currentView && newView != this.currentView) {
this.currentView.hide();
this.currentView = newView;
this.currentView.render();
} else if (newView) {
this.currentView = newView;
this.currentView.render();
}
},
在视图控制器中:
var RecursoModelDetailView = Backbone.View.extend({
el : $('#contenido'),
template : null,
recurso : null,
initialize : function(options) {
this.template = options.template;
this.recurso = options.recurso;
},
render : function() {
console.log(this.recurso);
$(this.el).html(this.template(this.recurso.toJSON()));
return this;
},
hide : function() {
$(this.el).empty();
}
});
模板:
<h3>Detail</h3>
<div>
<p><label><%= id %></label></p>
<p><label><%= nome %></label></p>
<p><label><%= tipo %></label></p>
</div>
我的问题是,在Firefox第一次进入详细信息选项卡时没有向我显示任何字段,第二次可能。使用chrome或explorer从不向我显示任何内容。 请求服务器并检索数据以及我在render函数中执行的console.log数据是否存在但未显示。可能是什么问题?