Подтвердить что ты не робот

Dart js взаимодействует с D3

Я пытаюсь интегрировать 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) в обратный вызов?

4b9b3361

Ответ 1

Как пакет: 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);
}