[英]angular unknown injector provider error
I am getting this error -- Error: [$injector:unpr] Unknown provider: graphServiceProvider <- graphService <- graphController . 我收到此错误- 错误:[$ injector:unpr]未知提供程序:graphServiceProvider <-graphService <-graphController 。
I tried so many approaches but not able to figure out what is going wrong ? 我尝试了很多方法,但无法找出问题所在? Am i declaring the script files in the wrong manner in the index.html file ?
我是否以错误的方式在index.html文件中声明了脚本文件? Or something else ?
或者是其他东西 ?
app.js file -- app.js文件-
angular.module('plunker', ['ui.router', 'chart.js', 'ngMessages']);
index.html file 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>
graph controller file -- 图形控制器文件-
/**
* 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);
}
}
]);
graph service file -- 图形服务文件-
/**
* 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;
}
}
}
]);
});
You missed to invoke the function like 您错过了像
(function () {
'use strict';
angular
.module('myApp')
.factory('graphService', function () {
return {
//other code
}
});
})(); //here you missed to invoke '()'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.