Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干视图无法识别该模型_Javascript_Backbone.js - Fatal编程技术网

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()
as
Uncaught 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。