Angularjs 调用控制器上的工厂时提供程序未知“;错误:[$injector:unpr]";
我在一家工厂的控制器上遇到了一个待命问题。工厂应在控制器调用时执行REST请求,但出现以下错误:Angularjs 调用控制器上的工厂时提供程序未知“;错误:[$injector:unpr]";,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我在一家工厂的控制器上遇到了一个待命问题。工厂应在控制器调用时执行REST请求,但出现以下错误: Error: [$injector:unpr] Unknown provider: SearchServiceProvider <- SearchService <- HomeController home.controller.js (function () { 'use strict'; angular .module('MyModule', ['ngMessages']
Error: [$injector:unpr] Unknown provider: SearchServiceProvider <- SearchService <- HomeController
home.controller.js
(function () {
'use strict';
angular
.module('MyModule', ['ngMessages'])
.factory('SearchService', Service);
function Service($http) {
var service = {};
service.SearchPendingDeliveries = SearchPendingDeliveries;
return service;
function SearchPendingDeliveries(docNumberClient, callback) {
//some code
}
}
})();
(function() {
'use strict';
angular
.module('MyModule', [])
.controller('HomeController', HomeController);
function HomeController(SearchService) {
var vm = this;
vm.searchDeliveriesFromUser = searchDeliveriesFromUser;
function searchDeliveriesFromUser() {
SearchService.SearchPendingDeliveries(vm.identifierNumber, function (result) {
if (result === true) {
console.log(true);
} else {
console.log(false);
}
});
};
};
})();
index.html
...
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js"></script>
<script src="https://code.angularjs.org/1.5.8/angular-messages.js"></script>
<script src="service/busca.app.js"></script>
<script src="home/home.controller.js"></script>
...
。。。
...
您两次声明同一模块
试着改变
angular
.module('saldanhaTranporte', [])
.controller('HomeController', HomeController);
到
如果在
module()
中没有第二个参数,则它是一个getter而不是setter,并返回对现有模块的引用
试着改变
angular
.module('saldanhaTranporte', [])
.controller('HomeController', HomeController);
到
在
module()
中没有第二个参数,它是一个getter而不是setter,返回对现有模块的引用谢谢您的回答!我尝试了这一点,但发现了其他错误:“错误:[$injector:nomod]模块'saldanhaTranporte'不可用!”和“错误:[$injector:modulerr]未能实例化模块saldanhaTranporte”,这可能是由于一些简单的语法错误造成的,例如,如果所有顺序都正确并且文件加载正确的话。这不是唯一的原因,但也是一个常见的原因。所以这个错误与“未知提供者”无关?此错误是由其他代码中的某些内容引起的?是这个吗?谢谢你的回答!我尝试了这一点,但发现了其他错误:“错误:[$injector:nomod]模块'saldanhaTranporte'不可用!”和“错误:[$injector:modulerr]未能实例化模块saldanhaTranporte”,这可能是由于一些简单的语法错误造成的,例如,如果所有顺序都正确并且文件加载正确的话。这不是唯一的原因,但也是一个常见的原因。所以这个错误与“未知提供者”无关?此错误是由其他代码中的某些内容引起的?是这个吗?