我展示了不同类型的 HTML 5 图表,因此我为每种图表类型制作了单独的 js 文件,以便我可以有选择地加载。听说过很多有关 require.js 的内容,因此我尝试了一下。我对此很陌生,因此不确定我实现它们的方式是否正确。下面是我调用来构建图表的函数:
function buildChart(podObj) {
switch (podObj.PodAttributes.type) {
case "ColumnChart":
requirejs(["HTML5SpendDashboard/includes/js/views/column.chart.js"], function () {
var objChart = ColumnChart.getInstance();
onSuccessLoadChart(podObj, objChart);
});
break;
case "dataGrid":
requirejs(["HTML5SpendDashboard/includes/js/views/grid.js"], function () {
var objChart = DataGrid.getInstance();
onSuccessLoadChart(podObj, objChart);
});
break;
case "lineChart":
requirejs(["HTML5SpendDashboard/includes/js/views/line.chart.js"], function () {
var objChart = LineChart.getInstance();
onSuccessLoadChart(podObj, objChart);
});
break;
case "pieChart":
requirejs(["HTML5SpendDashboard/includes/js/views/pie.chart.js"], function () {
var objChart = PieChart.getInstance();
onSuccessLoadChart(podObj, objChart);
});
break;
}
}
function onSuccessLoadChart(podObj, objChart) {
objChart.BaseViewRef.Variables.ViewProperties = podObj;
objChart.Build();
}
这是使用 require.js 的正确方法吗?目前我不想采用模块化模式。另一件事是,如果重复柱形图的情况将 require.js 重复加载 column.chart.js 文件,我可以跳过加载吗?