我正在使用 Angular Dart 开发Web应用程序。

我正在使用ChartJs库来呈现图表。

我正在使用beforeDraw插件对图表进行处理。

beforeDraw已成功在调试版本中执行。
(发布运行build_runner build --output build)

但是当我使用发布版本时
(pub run build_runner build --output build --release),
beforeDraw没有被调用。

这是我注册插件的地方:

    final plugin = PluginServiceRegistrationOptions(beforeDraw: beforeDraw);
    Chart.pluginService.register(plugin);
    _renderChart();

这是我定义beforeDraw的地方:
  void beforeDraw(Chart chart, String easing) {
    print('inside beforeDraw');
  }

为什么在发行版本中不执行?

我尝试了这个:
final plugin = PluginServiceRegistrationOptions(beforeDraw: allowInterop(beforeDraw));

在浏览器控制台中,它显示了以下异常:
Uncaught NoSuchMethodError: method not found: 'call'
Receiver: Closure 'a1Y' of Instance of 'minified:eP'
Arguments: [Instance of 'kE', 0.06499308566807294, Instance of 'minified:Of']

最佳答案

您需要将函数包装在allowInterop函数中

09-30 13:45