gpt4 book ai didi

javascript - 尝试从 Angular 6 中的输入访问值时,Event 和 event.target 的正确类型是什么?

转载 作者:行者123 更新时间:2023-11-30 20:11:37 25 4
gpt4 key购买 nike

<分区>

我有一个看起来像这样的输入:

<input type="checkbox" value="value" (click)="doSomething($event)">

这工作正常并且函数 doSomething 被正确调用:

doSomething(event) {
const target = event.target;
const value = target.value;
console.log(value);
}

现在我想添加正确的类型和愚蠢的我,我希望它能工作:

doSomething(event: Event) {
const target: HTMLInputElement = event.target;
const value: String = target.value;
console.log(value);
}

我几乎尝试了以下所有组合:

  • 使用 MouseEventEventEmitter 代替 Event
  • 使用 target: EventTarget = event.target;(有效,但在下一行失败)
  • 使用 target: Element = event.target;(不工作)
  • 使用 target: HTMLElement = event.target;(不工作)
  • 使用 target: HTMLInputElement = event.target;(不工作)

我还尝试了 event.srcElement 而不是 event.target,它与“Element”一起使用但在下一行失败,因为它不是 HTMLInputElement


这些是错误信息:

Type 'EventTarget' is not assignable to type 'Element'.

……和……

Type 'Element' is not assignable to type 'HTMLInputElement'.

…和-

Property 'value' does not exist on type 'Element'.


什么是正确的方法?


我知道这在没有严格类型的情况下也能正常工作,而且我知道我可以使用 ViewChild。但不知何故,我希望它也能正常工作。

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