使用ElementList长度和[]时Dart2js警告

时间:2014-07-12 13:27:24

标签: dart dart-html

我是Dart的新手。为了熟悉Dart,我创建了这个脚本。它适用于编辑器和发布服务器。但是pub为dart2js提供了这两个警告,我不明白:

  1. “ElementList”类中​​没有名为“length”的成员
  2. 类ElementList
  3. 中没有运算符'[]'

    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();
            }
          });
    }
    

1 个答案:

答案 0 :(得分:1)

[] https://code.google.com/p/dart/issues/detail?id=19628ElementList运算符存在错误(已于6月26日修复)。

您使用的是Dart版本?

我无法找到关于length的内容,但我想这是Dart2JS中的一个错误。 您可以在http://dartbug.com/new报告 但也许[]错误的修复也适用于此。