proxy的问题
同样是this为什么第一个this指的就是时间的绑定着,第二个this指的就是时间外的this即这个实例化对象。还是说这个方法就是这样定义的吗
29
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕慕子
2020-04-11 16:18:05
同学你好,理解有些偏差,这里的两个this都是指向Dropdown函数实例化对象。
因为hover事件中的this指向触发事件的元素,也就是this.$elem,而show和hide方法是在Dropdown函数上的,元素上并没有,所以需要使用$.proxy 方法改变修改this的指向, $.proxy接受一个已有的函数,并返回一个带特定上下文的新的函数。将this指向Dropdown函数,而不是执行hover事件的元素this.$elem。
改变this指向后, 可以打印一下show方法里的this指向
打印结果
没有改变this指向,会出现报错。
打印结果
综上可知, this都是指向Dropdown函数实例化之后的对象,同学可以结合示例代码测试理解下。
如果我的回答帮助到了你,欢迎采纳!祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星