本文介绍了Angular JS未知提供程序错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的angular js应用程序出现此错误,无法弄清楚是什么原因引起的.这似乎是一个常见的问题,但是我所有的故障排除方法都没有帮助.如果有人可以指出该问题,将不胜感激.谢谢:)
I am getting this error in my angular js app and can't figure out what's causing the problem. It seems to be a common issue but all my troubleshooting hasn't helped at all. If anyone can point to waht the problem may be it would be appreciated. Thanks :)
错误:[$ injector:unpr]未知提供程序:ResultsServiceProvider<-ResultsService<-ResultsController
这是我的代码:
app.js
angular.module('resultsApp', ['ngRoute', 'nvd3', 'ngResource'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/results', {
controller: 'ResultsController',
templateUrl: 'app/results/Results.html'
});
}])
控制器
angular
.module('resultsApp')
.controller('ResultsController', ResultsController);
function ResultsController($scope, ResultsService) {
$scope.teams = [{teamA: ''}, {teamB: ''}];
$scope.premResults = [];
$scope.searchByTeams = function () {
ResultsService.getResultsList($scope.teams.teamA,$scope.teams.teamB, function (res) {
$scope.premResults = res;
);
};
}
服务:
angular
.module('resultsApp')
.service('ResultsService', ResultsService);
function ResultsService(ResultFactory) {
this.getResultsList = getResultsList;
function getResultsList(teamA, teamB, callback) {
return ResultFactory.get({teamA: teamA, teamB: teamB}, callback);
}
}
工厂
angular
.module('resultsApp')
.factory('ResultFactory', ResultFactory);
function ResultFactory($resource) {
return $resource('api/results', {}, {
get: {method: 'get', isArray: true}
});
}
推荐答案
如果您遇到这样的错误:
If you have an error such as this:
这通常意味着以下事情之一:
It usually mean one of those things:
- 创建(声明)时,您误拼了
ResultsService
名称. - 或者您没有插入脚本标签,该脚本标签指向包含
index.html
中服务的文件. - 或者您已经在主应用程序模块之外的某个模块中创建了服务,但忘记了将此模块列为应用程序的依赖项之一(例如,
angular.module('myApp', ['moduleWithService']);
)
- You've either misspelled the
ResultsService
name when creating (declaring) it. - Or you haven't inserted a script tag pointing to the file that contains the service in your
index.html
. - Or you've created the service within a certain module other than your main app module, but have forgotten to list this module as one of your app's dependencies (e.g.
angular.module('myApp', ['moduleWithService']);
)
因此,在调试此类错误期间,您应该始终从检查这三件事开始.
So during debugging of this kind of error, you should always start from checking these 3 things.
这篇关于Angular JS未知提供程序错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!