下面一段简单的代码里有个this看不懂他什么意思,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
请问下面那两个加粗的this什么作用,代码的作者说是取得上下文的作用,但是没说具体什么意思?
为什么要放两个this取得上下文啊? 多谢~嘿嘿
1 2 3 4 5 6 7 8 9 |
|
怪我咯2017-04-10 16:07:54
传人一个context
参数来修改当前上下文,控制this的指向。
object.on(event, handler, [context])
如果你传入context那么当前上下文就是你所传入的context, this也指向它。如果不传入this就指向实例化的对象(根据题主的代码就是collection对象)。
简单的说他的这种做法其实就是让this指向view对象而不是指向collection对象。
阿神2017-04-10 16:07:54
就是上下文啊,你在绑定事件的时候,是得放入一个上下文环境的(Context),否则你触发这个方法的时候,它怎么知道是谁(哪个对象)调用此方法啊,具体请查看Backbone的Events源码