【问题标题】:Angularjs unknown provider nvd3Angularjs 未知提供者 nvd3
【发布时间】:2014-11-24 05:09:24
【问题描述】:

我正在尝试使用 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']);

这是我的控制器:

myApp.controller('myCtrl',['$scope','nvd3',
    function($scope){ 
               $scope.options =  { /*my json chart options */  };
               $scope.data = { /* my json data */ }
            }]);

我在我的 index.html 中将这个 sn-p 用于库:

<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。 对进一步阅读的任何建议或建议表示赞赏。

【问题讨论】:

    标签: javascript angularjs d3.js frontend nvd3.js


    【解决方案1】:

    您不需要在控制器中注入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 */ }
                }]);
    

    【讨论】:

    • 非常感谢,帮我修好了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多