所以下面的代码是在Angular 4中,我不知道为什么它没有按预期的方式工作。
下面是我的处理程序的一个片段:
onUpdatingServerName(event: Event) {
console.log(event);
this.newserverName = event.target.value; //this wont work
}
超文本标记语言元素:
<input type="text" class="form-control" (input)="onUpdatingServerName($event)">
代码给了我错误:
属性值在类型Event塔吉特上不存在。
但是从< code>console.log中可以看出,该值确实存在于< code>event.target中。
这是另一个对我有用的修复程序:
(event.targetHTMLInpuElement). value
这应该通过让 TS 知道 event.target
是一个 HTMLInputElement
(它本质上具有值
)来消除错误。在指定之前,TS 可能只知道事件
本身是一个 HTMLInputElement
,因此根据 TS,键入的目标是
一些随机映射的值,可以是任何东西。
将HTMLInputElement作为泛型传递给事件类型也应该可以:
onUpdatingServerName(event: React.ChangeEvent<HTMLInputElement>) {
console.log(event);
this.newserverName = event.target.value;
}
event.target
这是一个HTMLElement
,它是所有超文本标记语言元素的父元素,但不能保证具有属性value
。TypeScript检测到这一点并抛出错误。将event.target
转换为适当的超文本标记语言元素,以确保它是HTMLInpuElement
,它确实具有value
属性:
(event.target as HTMLInputElement).value
每个留档:
上面的示例将< code>$event转换为< code>any类型。这以一定的代价简化了代码。没有类型信息可以揭示事件对象的属性并防止愚蠢的错误。
[...]
$event
现在是一个特定的键盘事件
。并非所有元素都具有值
属性,因此它将target
强制转换为输入元素。
(强调我的)
我使用的是完全修补过的Visual Studio 2013。我正在尝试使用JQuery、JQueryUI和JSRender。我也在尝试使用打字。在ts文件中,我得到如下错误: 类型“{}”上不存在属性“fade div”。
我已将TS添加到我的React/Redux应用程序中。 我在我的应用程序中使用对象,如下所示: TS抛出一个错误: 类型脚本错误:类型“窗口”上不存在属性“FB”。TS2339 我想修正这个错误。 我在这里找到了答案https://stackoverflow.com/a/56402425/1114926 为什么第一个版本不起作用,而第二个版本起作用,尽管我根本没有指定FB属性?
我正在使用typescript,并试图创建一个脚本,当文本输入到输入框中时,该脚本将更新p元素。 然而,编译器确实输出了一个javascript文件,这在Chrome中工作得很好。 我怎么会有这个错误?那我该怎么修呢? 另外,根据TypeScript,在哪里可以查找上哪些属性是有效的? 请注意,我对javascript和typescript非常陌生,所以我可能会遗漏一些显而易见的东西。:)
不过,当我尝试使用firebase数据库时,我做了一个const来获取firebase数据库中的现有房间。get()在线:const roomRef=await database。ref()。get(); 它报告以下错误:D:/react/app/letmeask/src/pages/Home中的TypeScript错误。tsx(35,65):类型“Reference”上不存在属性“get”。TS
我在做一个个人项目,在完成firebase的注册和登录表单时遇到了一些问题。我使用的是Vuejs和TS,它给我带来了这个错误。将电子邮件另存为txtEmail的部分。值和txtPassword。值将删除错误。以下是一个片段: