请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

onclick回调函数传参问题

interface UIElement {
addClickListener(onclick:(this:void,e:Event)=>void):void
}
class Handler {
type:string
onClickBad = (e:Event)=>{
this.type = type
}
}
let h = new Handler()
let uiElement:UIElement = {
addClickListerner(){
}
}

uiElement.addClickListener(h.onCilckBad)

  1. addClickListener 中 onclick 回调函数 不是接受两个参数吗,一个this, 一个 e,但 在onClickBad 中只有一个参数e啊,这是为什么啊,望老师解答

正在回答

1回答

这个是 this 参数,它是一个假的参数,它在这里是相当于告诉 TypeScript 编译器,在执行 onclick 回掉函数中,这个 this 是空。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_theHermes_03160332 #1
    谢谢老师
    回复 有任何疑惑可以回复我~ 2019-07-31 10:37:26
  • 老师没明白 “它是一个假的参数” 是什么意思,意思是 函数中 有this作为参数,调用的时候 都能省略吗?
    还有个问题,申明变量uiElement的时候,里面的addClickListener中没写参数onclick,  但是上面接口UIEment中的addClickListener中是 有写onclick参数的, onclick是必填参数  不是可选参数啊,下面为什么可以省略不写?
    回复 有任何疑惑可以回复我~ 2020-10-12 10:01:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信