Backbone中on事件注意事项

 

我们先来看下on事件的函数签名: object.on(event, callback, [context])

大家可能只注意到了event,callback,其实这里有一个很重要的参数就是context就是事件执行的上下文环境,如果这里不指定context,则执行的函数中则无法使用this以及调用本对象中的函数

 1 initialize: function () {
 2       var self = this;
 3       this.fileuploadEl = $('#fileupload');
 4       this.imgDirIdEl = $('#imgDirId');
 5       this.listenTo(ImageCommon, 'change:selectedIndex', this.imgDirChangeEvent);
 6       <span style="color:#ff0000;">ImageCommon.on('leftRowClick', this.initImgListUI, this);//只有传递this上下文后,才能在注册函数中使用this</span>
 7 
 8       this.initUploadUI();
 9     },
10     /**
11      * 初始化上传控件
12      */
13     initUploadUI: function () {
14       this.fileuploadEl.fileupload({ url: './upload' });
15       console.log('initUploadUI this is ');
16       console.log(this);
17     },
18     /**
19      * 显示查询出来的图片
20      */
21     initImgListUI: function () {
22       console.log('initImgListUI this is ');
23       console.log(this);   //只有在ImageCommon.on指定上下文后才可以使用this
24 ...}

 

posted on 2014-04-17 09:48  懒虫一个  阅读(104)  评论(0)    收藏  举报

导航