Javascript 主干视图无法识别该模型
型号Javascript 主干视图无法识别该模型,javascript,backbone.js,Javascript,Backbone.js,型号 var MyModel = Backbone.Model.extend({ url:'http://localhost:3000/getMiningInfo', defaults: { blocks: "", }, parse: function(resp) { return resp; } }); var info = new MyModel(); info.fet
var MyModel = Backbone.Model.extend({
url:'http://localhost:3000/getMiningInfo',
defaults: {
blocks: "",
},
parse: function(resp) {
return resp;
}
});
var info = new MyModel();
info.fetch();
查看
var MyInfoView = Backbone.View.extend({
tagName:'table',
id:'info',
class:'table table-hover',
template:_.template('<tbody><tr><td><span>Number Of Blocks</span></td>'+
'<td><span><%= blocks %> </span></td>'+
'</tr></tbody>'),
initialize: function() {
this.model.on('change', this.render, this);
},
render: function() {
var attributes = this.model.toJSON();
this.$el.html(this.template(attributes));
}
});
var myView = new MyInfoView({model: info});
myView.render();
$('#info').html(myView.el);
var MyInfoView=Backbone.View.extend({
标记名:'table',
id:'信息',
类:'table悬停',
模板:\.template('块数'+
' '+
''),
初始化:函数(){
this.model.on('change',this.render,this);
},
render:function(){
var attributes=this.model.toJSON();
this.el.html(this.template(attributes));
}
});
var myView=newmyinfoview({model:info});
myView.render();
$('#info').html(myView.el);
我分别为
this.model.on
和this.model.toJSON()
asUncaught TypeError:Object\35;没有方法“on”
或没有方法“toJSON”
。我想让视图监听模型上的更改
initialize: function() {
this.listenTo( this.model, 'change', this.render );
}
主干网建议使用“listenTo”而不是“on”进行垃圾清理 首先在您看来,它不是
类
它的类名
。第二,你可以发布一个要点。为什么myInfoView和它的父视图都有相同的id?你确定info
是你在新建myInfoView({model:info})
时所认为的吗?错误表明它实际上是一个
元素,而不是主干模型。@muistooshort感谢您对错误的解释。问题是我如何加载文件。视图js不知道模型元素,因为我在模型js之前加载视图js。