我正在使用 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函数中