我正在尝试在我的应用程序中使用angular-chart.js,但我收到以下错误:
Error: [$injector:nomod] Module 'chart.js' is not available
我已经按照其他问题的建议在html文件中包含angular-chart.js之前的Chart.js,尽管这对我不起作用。
以下是我安装的库的版本:
这是我的目录结构:
app/
----libs/
------Chart.js/
----------src/
------------chart.js
------angular-chart.js/
--------dist/
----------angular-chart.js
----------angular-chart.css
--index.html
以下是我在 index.html 中使用bower安装的库的链接:
<!-- Import the graph library -->
<script src="../libs/Chart.js/src/chart.js"></script>
<script src="../libs/angular-chart.js/dist/angular-chart.js" xmlns="http://www.w3.org/1999/html"></script>
<!-- CSS too -->
<link rel="stylesheet" href="../libs/angular-chart.js/dist/angular-chart.css">
我正在尝试将chart.js模块注入我的控制器,如下所示:
angular.module('DeviceCtrl', ['chart.js']).controller('DeviceController', function($routeParams, $scope, $http) { }
有什么建议吗?谢谢!
答案 0 :(得分:0)
错误似乎表明在执行脚本之前未加载angular-chart.js,您需要在加载angular和chart.js之后但在执行脚本之前加载它。
Nit:css应该加载到html的顶部,而javascript文件应该在body关闭标记之后加载到底部。
您可以使用此template?
提供完整的重复步骤答案 1 :(得分:0)
我不熟悉角度图表库,但我发现到目前为止您遇到的一些问题。首先,角度图表的脚本标签有一个流浪的&#34; xmlns&#34;必须来自xml文档的属性:
<script src="../libs/angular-chart.js/dist/angular-chart.js" xmlns="http://www.w3.org/1999/html"></script>
它可能不会伤害任何东西,但我会删除它只是为了确保您不会让浏览器感到胃灼热。
接下来,您说明
我正在尝试将chart.js模块注入我的控制器
chart.js模块只包含指令。您无法将其注入控制器,只能在模块级别说明依赖关系。 GitHub上的readme对这组指令有一个很好的基本设置示例。有一个工厂,ChartJsFactory,你可以注入一个控制器,但看起来它主要是指令使用。
接下来我注意到你在控制器中包含$ routeParams的依赖项,但是你的模块DeviceCtrl并没有包含ngRoute。你可以包括angular-route.js,以及&nbsp; ngRoute&#39;在模块的配置中,或删除$ routeParams。