【发布时间】:2015-04-14 20:36:44
【问题描述】:
我尝试将 2 个服务添加到我的 AngularJS 模块。一个应该访问我的员工和一个我的产品,但我得到一个Unknown provider: EmployeeServiceProvider <- EmployeeService <- BookingController。
所有 Javascript 文件都添加到 html 中。
应用/模块
var coffeewatchApp = angular.module('coffeewatchApp', [
'ngRoute',
'coffeewatchControllers',
'coffeewatchServices'
]);
//Routing
var coffeewatchControllers = angular.module('coffeewatchControllers', []);
var coffeewatchServices = angular.module('coffeewatchServices', []);
EmployeeService.js
var coffeewatchServices = angular.module('coffeewatchServices', ['ngResource']);
var employeeServiceUrlPart = "EmployeeService/";
coffeewatchServices.factory('EmployeeService', ['$resource',
function($resource){
return $resource('all/', {}, {
all: {method:'GET',url:REST_BASEURL+employeeServiceUrlPart+"all", params:{}, isArray:true}
});
}]);
ProductController.js 和 Product 完全一样
var coffeewatchServices = angular.module('coffeewatchServices', ['ngResource']);
var productServiceUrlPart = "ProductService/";
coffeewatchServices.factory('ProductService', ['$resource',
function($resource){
return $resource('all/', {}, {
all: {method:'GET',url:REST_BASEURL+productServiceUrlPart+"all", params:{}, isArray:true}
});
}]);
控制器访问两个服务
coffeewatchControllers.controller('BookingController', ['$scope', 'EmployeeService', 'ProductService',
function ($scope, EmployeeService, ProductService) {
$scope.employees = EmployeeService.all();
$scope.products = ProductService.all();
}]);
感谢任何帮助;提前致谢。
EDIT:
我首先实现了EmployeeService,一切都运行良好。
所以我真的不明白为什么添加ProductService 会杀死我的EmployeeService。我唯一能想到的是ProductService 以某种方式“覆盖”了我的EmployeeService,因为它是第二个注入的。
所有在 index.html 中添加的 JS 文件
<script src="js/config/app-config.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/DashboardController.js"></script>
<script src="js/controllers/StatisticController.js"></script>
<script src="js/controllers/BookingController.js"></script>
<script src="js/services/EmployeeService.js"></script>
<script src="js/services/ProductService.js"></script>
EDITEDIT
在查看this 答案后,我更加困惑为什么我的代码无法正常工作,但也许其他代码会帮助某人发现差异。
【问题讨论】:
-
您是否在 index.html 中添加了对 EmployeeService.js 的引用?
-
是的,我做到了。但我添加了 Index.html 中的部分以确保。