1

我正在使用 Bootjack Datepicker,在将 Dart 升级到 1.12.1 后,我突然看到只有半个日历没有日期,并且有这个例外:

例外:在类“NodeTreeSanitizer”中没有声明静态 getter 'trusted'。NoSuchMethodError:找不到方法:“受信任”接收者:类型:类“NodeTreeSanitizer”

这是连接日历所需的唯一代码行:

Calendar.use();

如果需要手动连线日历,可以手动调用:

Calendar.wire(querySelector("div.calendar"));

他们俩都给了我例外calendar.dart

似乎正在破坏的代码是:

void _dayView() {
    TableElement calBody = element.querySelector('.cnt');
    Element dow = calBody.tBodies[0].createFragment(_DOW_TEMPLATE).children[0];
    List<Element> children = dow.children;

    List<String> swkDays = _dfmt.dateSymbols.SHORTWEEKDAYS;
    int ofs = (_firstDayOfWeek + 1) % 7;
    //render week days
    for (int i = swkDays.length; --i >= 0;) {
      children[i].text = swkDays[(i + ofs) % 7];
    }

    var buffer = new StringBuffer();
    for (int i = 6; --i >= 0;) {
      buffer.write(_DAYROW_TEMPLATE);
    }

    calBody.tBodies[0]
    ..append(dow)
    ..appendHtml(buffer.toString(), treeSanitizer: NodeTreeSanitizer.trusted);   <<<<<<<< ERROR
  }

查看 appendHtml,我可以看到treeSanitizer是一个可选参数,因此语法看起来不错。在 abstract classNodeTreeSanitizer中,我可以看到: static const trusted = const _TrustedHtmlTreeSanitizer();,所以这似乎也很好。

知道什么可能导致此错误吗?

与此同时,我在这里记录了一个错误:https ://github.com/rikulo/bootjack-datepicker/issues/2

4

1 回答 1

2

看起来你的 Dartium 版本已经过时了。
请比较dart --version(命令行)的输出和about://versionDartium 页面上的 Dart 版本。

于 2015-09-29T06:31:32.003 回答