我正在创建一个Blazor component作为ChartJ的外观。我在Microsoft论坛上提出了一个问题,以了解如何为该组件调用JavaScript函数。
我的问题是如何在创建图表之前添加一些事件,因此,从Blazor页面,我传递了一个名为config
的模型,它包含了图表的所有配置。
然后,我用JavaScript创建图表,如
var ctx = document.getElementById(id).getContext('2d');
var chart = new Chart(ctx, eval(config));
现在,我想添加一个事件,并向Blazor发送一个事件。例如,我为事件onHover
添加了以下代码,它工作了。
chart.options.onHover = function () {
DotNet.invokeMethodAsync('PSC.Blazor.Components.Chartjs', 'ChartHover');
}
与onClick
是工作太多。
chart.options.onClick = function (event, array) {
var rtn = 0;
if (array !== undefined && array.length > 0)
rtn = array[0].index;
DotNet.invokeMethodAsync('PSC.Blazor.Components.Chartjs', 'ChartClick', rtn);
};
现在,我想对onAnimationComplete
执行同样的操作。
chart.onAnimationComplete = window["AnimationComplete1"];
在这种情况下,函数没有被调用。
chart.onAnimationComplete = function () {
console.log('onAnimationComplete animation completed');
};
如何修复代码?
1条答案
按热度按时间lsmd5eda1#
没有可以直接在图表上配置的
onAnimationComplete
事件。必须像配置onHover
一样在选项中配置,并且名称必须不同: