我在下面有这个控制器。在页面加载时,执行下面看到的$ http服务。
现在,如何从其他控制器调用并执行控制器的$ http.post(...)部分。
controller: function ($scope, $element, $http) {
function par() {
var xxx= null;
xxx = $scope.$parent.$root.ParentItems['xxx'].xxx;
var det = { xxx: xxx};
return det;
}
$http.post('/api/values/entries/GoHere', par()).success(function (salData) {
var buildSHGraph = function (shData) {
//code code codes...
}
$scope.Array1 = [];
angular.forEach(salData, function (evt) {
//Code Code Codes
});
buildSHGraph($scope.Array1);
});
}
答案 0 :(得分:5)
您可以创建共享服务
angular.module("yourAppName", []).
factory("mySharedService", ['$http', function($http){
return {
callPost: function(params) {
return $http.post('/api/values/entries/GoHere', params)
.success()
.error();
}
};
}]);
然后将其注入任何控制器并调用必要的服务方法。
function FirstController($scope, mySharedService) {
$scope.params = {//..//};
$scope.result1 = mySharedService.callPost(params)
.success(function(result){//..//});
}
function SecondController($scope, mySharedService) {
$scope.params = {//..//};
$scope.result2 = mySharedService.callPost(params)
.success(function(result){//..//});
}