让TypeScript知道函数绑定到HTMLElement而不是当前对象

时间:2018-08-30 18:25:13

标签: javascript typescript

我有以下interfacestypes设置:

export interface MyEventMap extends ElementEventMap {
  'loaded': Event
}

export type MyEventsTypes = {
  [key in keyof (HTMLElementEventMap & MyEventMap)]?: (e: Event) => void
}

export interface ObectInterface {
  events?: MyEventsTypes
}

当我尝试使用ObjectInterface时,在loaded函数中出现此错误:

  

类型'MyEventsTypes'上不存在属性'textContent'。

如何使打字稿知道this绑定到HTMLElement而不是MyEventsTypes上?当我编译代码并运行loaded时,this.textContent可以正常工作并显示文本。

<ObjectInterface>{
  events: {
    loaded() {
      console.log(this.textContent)
    }
  }
}

0 个答案:

没有答案