gpt4 book ai didi

javascript - 从服务获取数据

转载 作者:行者123 更新时间:2023-11-28 19:11:09 24 4
gpt4 key购买 nike

这是我的 Controller 和服务:

var app = angular.module('myApp', ['ui.bootstrap']);

app.service("BrandService", ['$http', function($http){
this.reloadlist = function(){
var list;
$http.get('/admin.brands/getJSONDataOfSearch').
success(function(data, status, headers, config) {
list = data;
}).
error(function(data, status, headers, config) {

});
return list;
};

}]);

app.controller('BrandsCtrl', ['$scope','$http','$controller','BrandService', function($scope, $http, $controller, BrandService) {
$scope.brands = BrandService.reloadlist();
angular.extend(this, $controller("BrandCtrl", {$scope: $scope}));
}]);

我搜索了这个问题并尝试了问题的答案,但我无法得到解决方案。我是 Angular 新手,所以你能详细解释一下吗?为什么我无法通过这种方式将数据从服务获取到 Controller ?

最佳答案

用于数据的返回用于函数的回调。您必须像这样使用 $http 返回的 promise 。

在您的服务中返回 promise :

return  $http.get('/admin.brands/getJSONDataOfSearch').
success(function(data, status, headers, config) {
return data;
}).
error(function(data, status, headers, config) {

});

在 Controller 中的 Promise 上使用 then() :

  BrandService.reloadlist()
.then(function (data){
$scope.brands = data;
});

关于javascript - 从服务获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30705240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com