Javascript 财产';选中';不存在于类型';EventTarget';。ts(2339)角

Javascript 财产';选中';不存在于类型';EventTarget';。ts(2339)角,javascript,angular,typescript,Javascript,Angular,Typescript,问题与此相同: 但只适用于不同的框架 我需要这件answear用于ANGULAR 2+。目前我使用的是angular 9 public CheckBoxChange(event: Event) { this.service.change(this.d!.id.toString(), event.target.checked).subscribe(res => { console.log(res }, err => { console

问题与此相同:

但只适用于不同的框架

我需要这件answear用于ANGULAR 2+。目前我使用的是angular 9

public CheckBoxChange(event: Event) { 
    this.service.change(this.d!.id.toString(), event.target.checked).subscribe(res => {
        console.log(res
    }, err => {
        console.log(err)
    })
}
问题在这里事件。目标。已检查

错误消息:

类型“EventTarget”上不存在属性“checked”。ts(2339)


如何解决这个问题?好的,我可以设置type:any,但这不是解决方案。

Event
是一个相当通用的类,
EventTarget
也是。在该位置,您正在访问
event.target
,TS编译器无法推断此
event.target
确实是一个复选框,因此它假定它是一个泛型
HTMLElement
。如果要访问复选框的属性,即
HTMLInputElement
,则必须自己指定类型

public CheckBoxChange(event: Event) { 
    const ischecked = (<HTMLInputElement>event.target).checked
    this.service.change(this.d!.id.toString(), ischecked).subscribe(res => {
        console.log(res
    }, err => {
        console.log(err)
    })
}
publiccheckboxchange(事件:事件){
const ischecked=(event.target).已检查
this.service.change(this.d!.id.toString(),已选中)。订阅(res=>{
控制台日志(res)
},err=>{
console.log(错误)
})
}

您正在使用哪种复选框,它会发出哪种更改事件?