amcharts hideGraph 对比 graphs.hidden
amcharts hideGraph vs graphs.hidden
chart = initialiseGraph();
chart.graphs.forEach(function(elm){
elm.hidden=true;
});
chart.validateNow();
和
function handleLegendClick( graph ) {
var chart = graph.chart;
for( var i = 0; i < chart.graphs.length; i++ ) {
if ( graph.id == chart.graphs[i].id )
chart.showGraph(chart.graphs[i]);
else
chart.hideGraph(chart.graphs[i]);
}
// return false so that default action is canceled
return false;
}
这两种代码有什么区别,性能方面哪一种更好?
showGraph
/hideGraph
方法与在每次调用后调用 validateNow
具有相同的效果,在每次调用后完全重绘整个图形,而设置 hidden
在您调用 validateNow
更新图表之前,属性 什么都不做。
在循环情况下,先在多个图形上修改 hidden
属性,然后在循环结束时调用一次 validateNow
比调用 [=21= 快得多] 每次迭代的方法。
chart = initialiseGraph();
chart.graphs.forEach(function(elm){
elm.hidden=true;
});
chart.validateNow();
和
function handleLegendClick( graph ) {
var chart = graph.chart;
for( var i = 0; i < chart.graphs.length; i++ ) {
if ( graph.id == chart.graphs[i].id )
chart.showGraph(chart.graphs[i]);
else
chart.hideGraph(chart.graphs[i]);
}
// return false so that default action is canceled
return false;
}
这两种代码有什么区别,性能方面哪一种更好?
showGraph
/hideGraph
方法与在每次调用后调用 validateNow
具有相同的效果,在每次调用后完全重绘整个图形,而设置 hidden
在您调用 validateNow
更新图表之前,属性 什么都不做。
在循环情况下,先在多个图形上修改 hidden
属性,然后在循环结束时调用一次 validateNow
比调用 [=21= 快得多] 每次迭代的方法。