неизвестная угловая ошибка инжектора

0

Я получаю эту ошибку - Ошибка: [$ injector: unpr] Неизвестный поставщик: graphServiceProvider <- graphService <- graphController.

Я пробовал так много подходов, но не мог понять, что происходит не так? Могу ли я объявить файлы сценариев неверным образом в файле index.html? Или что-то другое?

Файл app.js -

angular.module('plunker', ['ui.router', 'chart.js', 'ngMessages']);

Файл index.html

<!DOCTYPE html>
<html lang="en" ng-app="plunker">

<head>
    <meta charset="utf-8" />
    <title>Vote Guru Application</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.css"/>
    <link rel="stylesheet" href="bower_components/angular-chart.js/dist/angular-chart.css">

    <script src="bower_components/jquery/dist/jquery.js"></script>
    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/Chart.js/Chart.js"></script>
    <script src="bower_components/angular-chart.js/dist/angular-chart.js"></script>
    <script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
    <script src="bower_components/angular-messages/angular-messages.js"></script>


    <script src="app.js"></script>
    <script src="controllers/mainController.js"></script>
    <script src="controllers/signupController.js"></script>
    <script src="routes.js"></script>
    <script src="run.js"></script>
    <script src="controllers/newPollController.js"></script>
    <script src="services/voteGuruService.js"></script>
    <script src="services/graphService.js"></script>
    <script src="controllers/navbarController.js"></script>
    <script src="controllers/votingPageController.js"></script>
    <script src="controllers/midbarController.js"></script>
    <script src="controllers/settingsPageController.js"></script>
    <script src="controllers/myPollsPageController.js"></script>
    <script src="controllers/usersHomePageMidbarController.js"></script>
    <script src="controllers/graphController.js"></script>
    <script src="directives/dirtyCheckDirective.js"></script>

    <link rel="stylesheet" href="style.css"/>
    <base href="/">
</head>

<body ng-controller="mainController as vm">
<div ui-view="" name="nav"></div>
<div ui-view="" name="midbar"></div>
<div ui-view="" name="content"></div>
</body>

</html>

файл контроллера графа -

/**
 * Created by sohamchakraborty on 10/22/15.
 */
/**
 * Created by sohamchakraborty on 10/12/15.
 */


    angular
        .module('plunker')
        .controller('graphController', ['graphService', function (graphService) {


            var vm = this;

            vm.activate = activate;
            vm.data=[];
            vm.labels=[];

            activate();

            function activate(){
                loadGraph();
            }

            function loadGraph(){
                vm.data=graphService.loadGraphData();
                //console.log('data = ', vm.data);
                vm.labels=graphService.loadGraphLabels();
                //console.log('labels = ', vm.labels);
                var barData = graphService.loadBarDataForGraphs(vm.data, vm.labels);
                var context = document.getElementById('clients').getContext('2d');

                var clientsChart = new Chart(context).Bar(barData);
            }
    }
        ]);

графический служебный файл -

/**
 * Created by sohamchakraborty on 10/27/15.
 */
(function (){
    'use strict';

    angular
        .module('plunker')
        .factory('graphService', [ 'voteGuruService', function (voteGuruService) {

            return {
                loadBarDataForGraphs: function (data, labels) {
                    var barData = {};
                    barData.labels = labels;
                    barData.datasets = [];
                    barData.datasets[0] = {};
                    barData.datasets[0].data = data;
                    return barData;
                },
                loadGraphData: function () {
                    var data = [];
                    var poll = voteGuruService.getPollForGraphs();
                    var len = poll.Options.length;
                    for (var i = 0; i < len; i++) {
                        data.push(poll.Options[i].votes);
                    }
                    return data;
                },
                loadGraphLabels: function () {
                    var labels = [];
                    var poll = voteGuruService.getPollForGraphs();
                    var len = poll.Options.length;
                    for (var i = 0; i < len; i++) {
                        labels.push(poll.Options[i].option);
                    }
                    return labels;
                }
            }
        }
        ]);

    });
  • 0
    проверить эту ссылку docs.angularjs.org/error/$injector/unpr
  • 0
    я хочу поместить сервис графиков в другой файл; что не достижимо по этой ссылке
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Вы пропустили вызов функции типа

(function () {
    'use strict';

    angular
        .module('myApp')
        .factory('graphService', function () {

            return {
                //other code
            }
        });

})(); //here you missed to invoke '()'
  • 0
    большое спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню