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 に答える