gpt4 book ai didi

dart - 当以Dart运行时,使用<input>元素的 “.value”可以正常工作,编译为JavaScript时失败

转载 作者:行者123 更新时间:2023-12-03 03:46:30 44 4
gpt4 key购买 nike

这个问题大多在其他地方回答过,但是我想我会提一下我的经验,因为Dart的人可能会对了解这个有趣的副作用感兴趣。

  enterPinDigits() {
Element pinDigits = document.getElementById('pinDigits');
pinDigits.value = "";

在上面, pinDigits是HTML输入元素。当我如上所述编写代码时,编辑器告诉我它无法将 value识别为该元素的有效字段。

这是奇怪的部分:
该代码在Chromium / Dart环境中运行时表现良好,但是在编译为Javascript时却无法正常运行。奇怪的不一致。

最佳答案

getElementById返回Node,除非您声明它是value,否则DartEditor不能知道它具有InputElement属性。如果您将变量设置为Element类型,则它仍然没有value属性。

var pinDigits = document.getElementById('pinDigits') as InputElement;

要么

InputElement pinDigits = document.getElementById('pinDigits');

这样,您还可以获得正确的自动补全功能。

Dart2js使用类型信息进行树状摇动。由于类型注释错误,可能会丢弃错误的代码。在这种情况下,没有类型( var)会比错误的类型更好。实际上 Element没错,因此它可能仍然是错误。

关于dart - 当以Dart运行时,使用&lt;input&gt;元素的 “.value”可以正常工作,编译为JavaScript时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24316486/

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