如何移动 http 请求并将值传递给 AngularJS 服务
How to move a http request and pass value to an AngularJS Service
我正在尝试将此 http 请求移至服务,因为我是 AngularJS 的新手,所以我遇到了一些实际问题。你能帮我弄清楚如何不仅将 http 请求而且将 viewValue 从控制器移动到服务吗?
app.controller('poController',
function poController($scope, $http, poService) {
$scope.test = '';
$scope.fetchPartNumbers = function ($viewValue) {
return $http.get('/api/GetInventoryById/' + $viewValue
).then(function (res) {
var PartNumbers = [];
angular.forEach(res.data, function (item) {
PartNumbers.push(item.PartNumber);
});
return PartNumbers;
});
};
});
我可以将 http 请求移过去,但我不确定如何将 $viewValue 移过去或让它在服务中也可以访问。
app.factory('poService', function () {
});
只需将其添加为参数即可:
app.factory('poService', function ($http) {
return {
fetchPartNumbers: function(value) {
return $http.get('/api/GetInventoryById/' + value).then(function(res) {
var PartNumbers = [];
angular.forEach(res.data, function (item) {
PartNumbers.push(item.PartNumber);
});
return PartNumbers;
});
}
}
});
和控制器
$scope.fetchPartNumbers = function ($viewValue) {
poService.fetchPartNumbers($viewValue).then(function(data) {
console.log(data)
});
}
我正在尝试将此 http 请求移至服务,因为我是 AngularJS 的新手,所以我遇到了一些实际问题。你能帮我弄清楚如何不仅将 http 请求而且将 viewValue 从控制器移动到服务吗?
app.controller('poController',
function poController($scope, $http, poService) {
$scope.test = '';
$scope.fetchPartNumbers = function ($viewValue) {
return $http.get('/api/GetInventoryById/' + $viewValue
).then(function (res) {
var PartNumbers = [];
angular.forEach(res.data, function (item) {
PartNumbers.push(item.PartNumber);
});
return PartNumbers;
});
};
});
我可以将 http 请求移过去,但我不确定如何将 $viewValue 移过去或让它在服务中也可以访问。
app.factory('poService', function () {
});
只需将其添加为参数即可:
app.factory('poService', function ($http) {
return {
fetchPartNumbers: function(value) {
return $http.get('/api/GetInventoryById/' + value).then(function(res) {
var PartNumbers = [];
angular.forEach(res.data, function (item) {
PartNumbers.push(item.PartNumber);
});
return PartNumbers;
});
}
}
});
和控制器
$scope.fetchPartNumbers = function ($viewValue) {
poService.fetchPartNumbers($viewValue).then(function(data) {
console.log(data)
});
}