2014-11-24 4 views
2

Я пытаюсь использовать nvd3 для генерации и обновления диаграмм, поскольку данные динамически изменяются. Я чувствовал, что есть на самом деле дал провайдер в мой код, но я бегу в эту ошибку, и я не уверен, что я делаю неправильно:Неизвестный провайдер Angularjs 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 для библиотек:

<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. Приветствуются любые советы или предложения для дальнейшего чтения.

ответ

2

Вам не нужно вводить nvd3 в контроллере:

Изменение:

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

To:

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

Большое спасибо, что установил его для меня! – eric

Смежные вопросы