在严格模式下使用webix(5.4.0)+ typescript(3.1.1)时,我遇到了问题TS2683。
($$('DATE') as webix.ui.datepicker)attachEvent('onChange', function() {
let val:any = this.getValue() // or let val = ... without any
// this:this??? () = > not suit for me, btw
...
}
错误是:
'this' implicity has type 'any' because it doesn't have a type annotation.
我已经读过How to access the correct `this` inside a callback?,但似乎所有事情都与处理外部this有关,而且我需要声明内部此类。那我该怎么办?
答案 0 :(得分:0)
您需要添加类型注释,以使编译器知道this
($$('DATE') as webix.ui.datepicker).attachEvent('onChange', function(this:webix.ui.datepicker) {
let val:any = this.getValue()
});
理想情况下,attachEvent
方法应该已经在回调类型中指定了this
的类型,但是由于不需要手动指定它。