我的代码如下,当我运行它时,它显示错误 - 没有方法'设置'。 为什么会这样?我已将我的功能绑定到模型,但它似乎工作错误(
var Player = Backbone.Model.extend({
initialize: function(){
_.bind(this.ontimeupdate, this);
_.bind(this.onprogress, this);
},
setAudio: function(ogglink, mp3link, ontimeupdate){
var el = document.createElement("audio");
el.addEventListener('timeupdate', this.ontimeupdate);
this.audiotag = el;
},
ontimeupdate: function() {
this.set("curtime", this.currentTime);
}
});
答案 0 :(得分:1)
与bindAll
(您在进行多次绑定时应该使用)不同,bind
仅returns the binded function(相当于ECMA的bind
方法)。所以......
this.ontimeupdate = _.bind(this.ontimeupdate, this);
this.onprogress = _.bind(this.onprogress, this);
或者
_.bindAll(this);
或者
_.bindAll(this, 'ontimeupdate', 'onprogress');
答案 1 :(得分:0)
如果您将这些方法绑定到this
(您的播放器实例),那么您的ontimeupdate
方法应该看起来更像这样:
ontimeupdate: function() {
this.set("curtime", this.audiotag.currentTime);
}