0
chart = initialiseGraph();
chart.graphs.forEach(function(elm){
elm.hidden=true;
});
chart.validateNow();
とamcharts hideGraph graphs.hidden対
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;
}
1が優れているこれらの2つのコードと、パフォーマンスが賢明との違いは何ですか?
'showGraph' /' hideGraph'メソッドが 'validateNow()'メソッドを内部的に呼び出すのは、ソースコードにはありません。彼らは両方とも 'initChart()'を最後に呼び出します。 (** v 3.21.4 **) – vsync
技術的には正しいですが、 'initChart'は、エンドユーザ向けではない内部メソッドです(AmChartsのドキュメントに記載されていない場合、パブリックメソッドではありません)。重要なのは、バリデーションメソッドを呼び出すことと事実上同じ(または、セマンティクスを主張したい場合は同様の*)であることです。内部メソッドを呼び出すことは、実際には答えに何も追加しないので、メソッドをパブリックメソッドに関連付けることで、それらがどのように簡単に機能するかについて話し合うことができます。 – xorspark