老师好,请问这里为什么要使用$.proxy绑定this呢?
来源:2-4 MVVM模式
charsandrew
2018-04-12
bindEvents: function() { var btn = $('#btn'); btn.on('click', $.proxy(this.handleBtnClick, this)) }
上面为什么使用$.proxy()重新绑定this呢? 直接使用this.handleBtnClick好像也能起到效果。在后面的handleBtnClick中也没有用到this呀。
写回答
4回答
-
如果不这么绑定的话,会改变this的指向,this将会指向btn这个元素。如果我们再在外面声明一个方法,在handleBtnClick中用this调用这个方法,因为this已经指向btn了,我们刚声明的方式就会找不到,调用会报错。
40 -
Dell
2018-04-14
是的,你可以在这里不用this,但是用了更严谨,我的本意是这样在后面的方法中调用this,指向依然是这个实例,而不是dom元素
10 -
Dell
2018-04-13
群里给你讲了,你看懂了没?
012018-04-13 -
Dell
2018-04-12
当次调用无所谓 再继续使用this就错了
00
相似问题