在不同的控制器文件中使用服务

服务 – optionService.js
控制器 – app.js&welcomeCtrl.js&otherCtrl.js

app.js

var app = angular.module('mainapp', ['mainapp.welcome','optionServiceModule']); app.controller('mainappCtrl', function ($scope,optionService) { optionService.fetchOptionDetails().success(function(response){ $scope.option = response; }); }); 

welcomeCtrl.js

  var app = angular.module('mainapp.welcome', ['optionServiceModule']); app.controller('welcomeCtrl',[function($scope,optionService) { optionService.fetchOptionTwoDetails().success(function(response){ $scope.OptionTwo = response; }); }]); 

optionService.js

 var app = angular.module('optionServiceModule',[]); app.factory('optionService',['$http',function($http) { var obj = {}; obj.fetchOptionDetails = function(){ return $http.get('localhost/api/option/optionOne'); } obj.fetchOptionTwoDetails = function(){ return $http.get('localhost/api/option/optionTwo'); } return obj; }]); 

optionService在app.js中工作正常,但在WelcomeCtrl.js中发生错误

错误

 Cannot read property 'fetchOptionTwoDetails' of undefined 

想知道如何使用多个控制器文件中的服务?

先谢谢你

像这样将$scopeoptionService注入到控制器中

 app.controller('welcomeCtrl',['$scope','optionService',function($scope,optionService) { optionService.fetchOptionTwoDetails().success(function(response){ $scope.OptionTwo = response; }); }]); 

签出这个Jsfiddle链接

Js代码

  var app1 = angular.module('mainapp.welcome', ['optionServiceModule']); app1.controller('welcomeCtrl', function($scope, optionService) { optionService.fetchOptionTwoDetails().success(function(response) { $scope.OptionTwo = response; }); }); 

你添加了[]但忘记了添加依赖项