我正在尝试使用 nvd3 来生成和更新图表,因为数据会动态变化。我觉得我确实已经将提供程序提供给了我的代码,但是我遇到了这个错误,并且不确定我做错了什么:
Error: [$injector:unpr] Unknown provider: nvd3Provider <- nvd3
http://errors.angularjs.org/1.2.18/$injector/unpr?p0=nvd3Provider%20%3C-%20nvd3
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:78:12
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3741:19
at Object.getService [as get] (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3869:39)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3746:45
at getService (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3869:39)
at invoke (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3896:13)
at Object.instantiate (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:3917:23)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:7201:28
at link (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular-route.js:913:26)
at nodeLinkFn (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js:6633:13) <div ng-view="" class="ng-scope">
这是我的应用程序:
var myApp = angular.module('myApp', ['nvd3']);
这是我的 Controller :
myApp.controller('myCtrl',['$scope','nvd3',
function($scope){
$scope.options = { /*my json chart options */ };
$scope.data = { /* my json data */ }
}]);
我在库的 index.html 中使用此代码段:
<meta charset="utf-8"> <!-- it's important for d3.js -->
<script src="js/bower_components/angular/angular.js"></script>
<script src="js/bower_components/d3/d3.js"></script>
<script src="js/bower_components/nvd3/nv.d3.js"></script>
<script src="js/bower_components/angular-nvd3/dist/angular-nvd3.js"></script>
<link rel="stylesheet" href="js/bower_components/nvd3/nv.d3.css">
并尝试使用以下方法生成图表:
<div ng-controller="myCtrl">
<nvd3 options="options" data="data"></nvd3>
</div>
其他(可能不相关)信息是我正在使用 ngRoutes 和 firebase API。 如有任何进一步阅读的建议或建议,我们将不胜感激。
最佳答案
您不需要在 Controller 中注入(inject)nvd3
:
更改:
myApp.controller('myCtrl',['$scope','nvd3',
function($scope){
$scope.options = { /*my json chart options */ };
$scope.data = { /* my json data */ }
}]);
致:
myApp.controller('myCtrl',['$scope',
function($scope){
$scope.options = { /*my json chart options */ };
$scope.data = { /* my json data */ }
}]);
关于javascript - Angularjs 未知提供商 nvd3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098210/