12

我正在尝试将 D3 与 dart 集成:到目前为止,我的代码如下:

import 'dart:html';
import 'package:js/js.dart' as js;

void main() {
   js.scoped(() {
     var dee3 = js.context.d3; 
     var dataset = js.array([ 5, 10, 15, 20, 25 ]);
     dee3.select("body").selectAll("p")
    .data(dataset)
    .enter()
    .append("p")
    .text(function(d) { return d; });

  });

每当我在 dartium 中运行它时,都会出现以下异常:异常:函数必须先转换为回调,然后才能序列化。如何将匿名函数(d)转换为回调?

4

1 回答 1

5

作为package:js > 0.2.0 Callback并且js.scoped不再需要。

import 'dart:html';
import 'package:js/js.dart' as js;

void main() {
  var dee3 = js.context.d3; 
  var dataset = js.array([ 5, 10, 15, 20, 25 ]);
  dee3.select("body").selectAll("p")
    .data(dataset)
    .enter()
    .append("p")
    .text((d, i, context) => d);
}
于 2014-02-18T16:22:16.733 回答