我有代码
2:1
它正在发挥作用。但Darteditor警告我,没有为“元素”类定义吸气剂“值”。我知道,querySelector返回的是一个InputElement,因此,我的问题只是出于美观和删除警告。如何告诉分析仪它可以期待一个InputElement?
我上次使用C#已有两年多了,但我相信有一种类似于if(querySelector('#username').value!="")
的语法(我完全不确定它是什么样的。)告诉调试器myvariable要被处理作为InputElement,即使它被定义为Element。 Dart中是否有类似于我的情况,所以我可以做这样的事情?
((InputElement) (myvariable).value
我很抱歉,但我在google中找不到任何内容 - 可能是错误的搜索字词。 提前谢谢你:)
答案 0 :(得分:3)
你可以在Dart中使用as
来“施放”。
import 'dart:html';
...
if((querySelector('#username') as InputElement).value!="")
答案 1 :(得分:3)
另一个不需要运行时类型检查的选项是将值分配给类型化的临时变量:
InputElement usernameInput = querySelector('#username');
if (usernameInput.value != "") ...
这也为值提供了一个静态类型的InputElement,但它只在运行时以检查模式进行类型检查,其中as
每次都执行它。
但是,类型检查不一定是querySelector
电话旁边的瓶颈。