在很多例子中,我看到这样的代码:
InputElement task;
void main() {
task = querySelector('#task');
task.text = "blabla";
}
这样做似乎也有同样的效果。
InputElement task = querySelector('#task');
void main() {
task.text = "blabla";
}
我更喜欢第二种方式,但我不确定是否存在任何差异,或者第二种方式可能会破坏某些方式。
答案 0 :(得分:4)
是的,您可以在顶层调用querySelector。
但请注意评估顺序,因为必须首先初始化DOM。通常,dart脚本标记位于正文的末尾,因此主要在创建DOM之后运行。
对于顶级变量,在第一次使用变量时,将评估右侧的表达式。
考虑以下示例,它打印1,2,3。
int i = foo();
foo() {
print('#2');
return 42;
}
main() {
print('#1');
int k = i; // i is accessed for the first time, so foo() is called.
print('#3');
}
答案 1 :(得分:2)
由于在DOM准备好之前不会执行Dart代码,因此两种方法都可以正常工作,并且两种方法都不会中断。