在不同的控制器文件中使用服务
using service in different controllers files
服务 - 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
想知道如何在多个控制器文件中使用服务吗?
提前致谢
像这样将 $scope
和 optionService
作为字符串注入控制器
app.controller('welcomeCtrl',['$scope','optionService',function($scope,optionService) {
optionService.fetchOptionTwoDetails().success(function(response){
$scope.OptionTwo = response;
});
}]);
检查这个 Jsfiddle link
js代码
var app1 = angular.module('mainapp.welcome', ['optionServiceModule']);
app1.controller('welcomeCtrl', function($scope, optionService) {
optionService.fetchOptionTwoDetails().success(function(response) {
$scope.OptionTwo = response;
});
});
您添加了 [] 但忘记添加依赖关系
服务 - 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
想知道如何在多个控制器文件中使用服务吗?
提前致谢
像这样将 $scope
和 optionService
作为字符串注入控制器
app.controller('welcomeCtrl',['$scope','optionService',function($scope,optionService) {
optionService.fetchOptionTwoDetails().success(function(response){
$scope.OptionTwo = response;
});
}]);
检查这个 Jsfiddle link
js代码
var app1 = angular.module('mainapp.welcome', ['optionServiceModule']);
app1.controller('welcomeCtrl', function($scope, optionService) {
optionService.fetchOptionTwoDetails().success(function(response) {
$scope.OptionTwo = response;
});
});
您添加了 [] 但忘记添加依赖关系