gpt4 book ai didi

javascript - 类型 'checked' .ts(2339) Angular 上不存在属性 'EventTarget'

转载 作者:行者123 更新时间:2023-12-04 14:07:51 31 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Property 'value' does not exist on type EventTarget in TypeScript [duplicate]

(18 个回答)


去年关闭。




问题与此相同:
TypeScript: Property 'checked' does not exist on type 'EventTarget & Element'. Why it doesn't exist?
但仅适用于不同的框架。
我需要 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)
})
}
问题在这里 event.target.checked
错误信息:

Property 'checked' does not exist on type 'EventTarget'.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)
})
}

关于javascript - 类型 'checked' .ts(2339) Angular 上不存在属性 'EventTarget',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66965210/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com