3***@qq.com
- 发布:2019-11-08 18:29
- 更新:2019-11-08 18:33
- 阅读:4297
3***@qq.com (作者)
你看下上面代码 不知道为什么。111始终打印不出来。进不去这个闭包里。但this.fetchTeacher这个方法却执行了
2019-11-08 18:43
IT梅
回复 3***@qq.com: this.fetchTeacher后面的括号去一下,就不执行了
2019-11-08 18:55
3***@qq.com (作者)
回复 IT梅: 不是,我本来就要执行这个方法 ,只是方法立即执行了 ,防抖函数没有生效,本来是应该延迟执行的 括号去了完全不执行了
2019-11-08 19:09
IT梅
回复 3***@qq.com: this.$mUtils.debounce(this.fetcher(),1200)(),最后补一个()是可以执行的,因为debounce方法返回的是一个未执行的funcition,但是如果this.fetcher()中没有return一个函数的话apply会报错,不是太理解,这个函数为什么能防抖
2019-11-11 10:24
3***@qq.com (作者)
回复 IT梅: 感谢提醒。这块地方我也有点蒙。最后改成
created(){
this.$watch('keyWord', this.$mUtils.debounce(() => {
this.fetchTeacher()
},1200))
}
才实现我要的实时搜索效果。时间很紧有空细细研究一哈。至于为什么防抖。我的理解就是每次用户输入的时候都把定时器clear掉,再创建一个新的定时器,这样就确保在这个delay时间里用户还在输入字符的话,就不会执行fn函数。
2019-11-11 14:30