我有一个呈现视频播放器和视频列表的视图。
initialize: function() {
var q = window.location.search.slice(3);
this.videos = new Videos(window.exampleVideoData);
this.videos.bind('select', this.notifyAppView, this);
if ( q ){
this.videos.bind('fetchFinished', function(){
console.log('should still work');
this.render();
}, this);
// Any time this.videos collection changes we will re-render
this.videoPlaying = this.videos.models[0];
this.videos.fetch( q );
}else{
//Collection of all videos
// Any time this.videos collection changes we will re-render
this.videoPlaying = this.videos.models[0];
this.render();
}
},
这是我在视图上的初始化函数。我遇到的问题是当我将参数传入绑定函数时,错误
app.js:10 Uncaught SyntaxError: Unexpected string
那是一行字:
this.videos.bind('fetchFinished', function(){
console.log('should still work');
this.render();
},此);
当我们将字符串传递给函数时,会出现如下错误:
this.videos.bind('fetchFinished', function('adfadf'){
console.log('should still work');
this.render();
}, this);
指定要与 Backbone.js 绑定的函数的正确方法是什么,它需要一个参数?
1条答案
按热度按时间nfeuvbwi1#
语法不正确。您应该在函数声明中指定参数的名称,而不是值。
您可以像这样传入一个值:
注意,第二个
bind
是函数对象的本机bind
方法,而不是 Backbone.jsbind
。最好使用 Backbone.js 的on
,而不是使用它的别名bind
,以避免混淆