在我的angularjs应用程序中重用require模块

时间:2015-02-19 12:49:02

标签: angularjs requirejs

我需要在新的angularjs应用程序上重新实现旧的require模块。问题是,我需要另一个入口点,所以我在部分html中加载脚本。像这样:

<!-- load needed scripts -->
<script>
    var require = {
        baseUrl: "static/js/",
        paths: {
            "jquery": "./lib/jquery/jquery-1.11.2.min",
            "d3": "./lib/d3/d3-3.4.11.min"
        }
    };
</script>
<script src="static/js/lib/require/require.js"></script>

<div class="container-fluid">
    <div class="row">
        <div class="col-xs-12">
            <div id="model-chart-{{$index}}" data-ng-repeat="chart in chartData.getCharts()">
               {{ renderChart("#model-chart-" + $index, chart) }}
            </div>
        </div>
    </div>
</div>

在我的控制器中我有:

       $scope.renderChart = function(selector, chartData) {
            console.log("render chart", selector, chartData, require);

            try {
                // this require only works once
                require(["scripts/util/renderChart"], function (renderChart) {
                    // console.log("data", data);
                    console.log(renderChart);
                    renderChart(
                        selector,
                        chartData,
                        -1
                    );
                });
            } catch (e) { $userinfo.setError("" + e); }
        }

事情是这只能运作一次。这意味着访问网址是有效的。向后导航并重新访问会抛出一个TypeError:对象不是函数

如何使用旧的require模块。这个旧模块是由其他人编写的,所以我不希望我强迫重写: - )

编辑:

目前我最终使用了iframe( brrr

0 个答案:

没有答案