在下面的jsonRequest
函数中,我可以将this.model
记录到控制台,但我无法调用this.model.fetch()
,我认为这是向我提出请求的合适方式服务器(localhost:8080/jsonapi
)。它给我的错误是无法调用未定义的fetch
。在下面的代码中有什么我做错了吗?
var MyModel = Backbone.Model.extend({
url: 'jsonapi',
});
var MyView = Backbone.View.extend({
el: '#blahblah',
initialize: function(){
},
events: {
'click #start' : 'callJsonRequest',
},
callJsonRequest: function(){
setInterval(this.jsonRequest, 1000);
},
jsonRequest: function(){
console.log("jsonrequest", this.model); //this logs the model
this.model.fetch();
},
});
window.myModel = new MyModel();
window.startStop = new StartView({model: myModel});
答案 0 :(得分:1)
您可能需要使用bind
来确保this
是View对象的上下文。
正如您在评论中提到的,您可以这样做:
setInterval(this.jsonRequest.bind(this), 1000);