Javascript 财产';选中';不存在于类型';EventTarget';。ts(2339)角
问题与此相同: 但只适用于不同的框架 我需要这件answear用于ANGULAR 2+。目前我使用的是angular 9Javascript 财产';选中';不存在于类型';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
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(错误)
})
}
您正在使用哪种复选框,它会发出哪种更改事件?