近日在用MVP实现一个Todolist过程中遇到一个问题,才发现$.proxy()的重要性,在此总结一番。
jQuery.proxy(),接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文(context )语境。
jQuery.proxy( function, context )
function将要改变上下文语境的函数。
context函数的上下文语境(`this`)会被设置成这个 object 对象。
jQuery.proxy( context, name )
context函数的上下文语境会被设置成这个 object 对象
name将要改变上下文语境的函数名(这个函数必须是前一个参数 ‘context’ 对象的属性)


下图是完整代码:

可以思考一下:如果不用$.proxy(),直接调this.handleBtnClick,会出现什么问题
网友评论