在AngularJS站点中外部加载的页面上使用D3js

时间:2018-12-13 19:06:17

标签: jquery angularjs d3.js

我有一个使用AngularJS作为其框架的网站。我没有对该框架的完全访问权限,但是,我能够添加在框架中提取并显示的自定义页面。

在外部,我有一个页面可以使用D3js(和其他库)以图形方式动态显示数据。我可以使用AJAX从其他站点调用此页面,它加载并显示得很好。每当我从AngularJS网站中加载它时,所有内容似乎都已加载,但是由于某种原因找不到“ d3”函数。

我已经尝试通过AngularJS的<ng-include> jQuery加载页面,但是总是得到相同的结果。我尝试过通过require.js,<script src=>标签加载D3库,甚至没有运气直接将整个D3源代码粘贴到页面中。

我假设它与某种奇怪的作用域问题有关,但是其他库可以正常加载和运行。除了加载库并仅调用d3.foo之外,还有另一种实例化'd3'的方法吗? d3的初始化与AngularJS有冲突吗?

关于AngularJS,我真是个新手。

以下是我尝试过的示例:

    <div data-title="Workplace Readiness"
     class="external-page">

    <p>
       ...
       some explanatory stuff
       ...
    </p>

    <div id="WR">Loading...</div>

    <script src="https://https://d3js.org/d3.v4.min.js"></script>
    <script src="https://source.of.custom.code/guage1.js"></script>
    <script type="text/javascript">
        $.get('https://source.of.custom.code/workplace_readiness/', function(data){
            $('#WR').html(data);
        });
    </script>
</div>

workplace_readiness页面的源代码中还包含必要的库,该库在其他任何地方都足够了,但在此AngularJS网站中还不够。

0 个答案:

没有答案