1

我展示了不同类型的 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 文件,我可以跳过加载吗?

4

0 回答 0