debounce函数this指向问题

来源:6-5 歌手详情数据抓取

慕神7237451

2019-03-15

问题1: 
在search-box组件中, 为什么调用debounce函数后this会指向search-box这个组件实例呢?
我的理解: 箭头函数的this会指向外部函数的this, 那外部是setTimeout, setTimeout是被window调用的, this指向不应该是window吗? 
问题2: 
return function (...args)中为什么要写...args呢,这边好像没有用到呀?http://img.mukewang.com/szimg/5c8bbd390001ccc303840239.jpg
http://img.mukewang.com/szimg/5c8bbd3900014b9104850107.jpg

写回答

1回答

ustbhuangyi

2019-03-16

外部函数并不是 setTimeout ,而是这个函数
//img.mukewang.com/szimg/5c8c92720001139907540438.jpg
这个函数就是 watch 的回调函数,当 watch 的回调函数执行的时候,this 指向的就是组件实例,所以这个 this 也会指向组件实例,...args 就是 watch 回调函数的参数,也就是 newVal,传递给 func,也就是 newQuery

0
0

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程