另一个未知的提供者 Angularjs

Another UNKNOWN provider Angularjs

好的,所以我是 angular 的新手,我一直在网上寻找这个问题的答案。我有一个未知的提供者错误,我无法找到正确的答案我已经尝试从这里关于堆栈溢出和许多其他地方的多个回复,但它还没有帮助我找到正确的答案。

我有模块。

var app = angular.module('app', ['ngRoute','app.student']).config(['$httpProvider', '$routeProvider', function ($httpProvider,$routeProvider) {
//Various code
}]);

这是我的控制器

angular.module('app.student', []).controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) {
 //Code 
 }]);

现在我的服务

angular.module('app.student', []).service('StudentService', ['$http', function ($http) {
// Some More Code
}]);

我对这门语言还是陌生的,我又在 Whosebug 上尝试了多个答案,None 个答案对我有用。所以我决定寻求一些帮助。谢谢

P.S。如果您需要我的更多代码,请告诉我。

您正在创建 app.student 模块两次。

首先创建模块(然后还创建控制器):

angular.module('app.student', []).controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) {
     //Code 
 }]);

然后一旦创建,只需检索它。不要传入依赖数组,否则你会重新创建:

angular.module('app.student').service('StudentService', ['$http', function ($http) {
    // Some More Code
}]);

您不需要 app.student 作为依赖,

var app = angular.module('app', ['ngRoute']).config(['$httpProvider', '$routeProvider', function ($httpProvider,$routeProvider) {
//Various code
}]);

你的控制器代码应该是,

angular.module('app').controller('StudentCtrl', ['StudentService', '$scope', '$http', function (StudentService, $scope, $http) {
 //Code 
 }]);

服务应该是,

angular.module('app').service('StudentService', ['$http', function ($http) {
// Some More Code
}]);