我是Dart的新手。为了熟悉Dart,我创建了这个脚本。它适用于编辑器和发布服务器。但是pub为dart2js提供了这两个警告,我不明白:
coloring.dart:
import 'dart:math';
import 'dart:html';
import 'dart:async';
const String CLICK_ME = 'Click me to pause!';
void randomColoring(StreamSubscription subscription) {
final Random random = new Random();
final Element intro = querySelector("#intro");
final ElementList<Element> boxes = querySelectorAll('.box');
final Element info = querySelector("#info");
subscription.onData((eventValue) {
var box = random.nextInt(boxes.length); /// WARNING
var hexCssColor = random.nextInt(0xFFFFFF + 1).toRadixString(16)
.padLeft(6, "0").toUpperCase();
boxes[box].style.background = "#$hexCssColor"; /// WARNING
info.text = eventValue.toString();
print("box: $box - hexCssColor: $hexCssColor - count: $eventValue");
});
var text = intro.text;
intro
..text = CLICK_ME
..onClick.listen((mouseEvent) {
if (subscription.isPaused) {
intro.text = CLICK_ME;
subscription.resume();
} else {
intro.text = text;
subscription.pause();
}
});
}
答案 0 :(得分:1)
[]
https://code.google.com/p/dart/issues/detail?id=19628的ElementList
运算符存在错误(已于6月26日修复)。
您使用的是Dart版本?
我无法找到关于length
的内容,但我想这是Dart2JS中的一个错误。
您可以在http://dartbug.com/new报告
但也许[]
错误的修复也适用于此。