大家好我确信这个问题有一个简单的解决办法,但我似乎无法自己找到它......
我有一个控制器,通过调用定义为GetDataService的服务将数据分配给$ scope.items变量
$scope.items = GetDataService.getData('/getBroadcastSourceList/1');
服务设置如下:
angular.module('appName')
.service('GetDataService', function($http, WebServiceURL) {
this.getData = function(ServiceParameter) {
$http.get(WebServiceURL + ServiceParameter)
.then(function(res){
return res.data;
});
};
});
我已经在GetDataService中执行了我的代码,并且可以看到res.data确实包含所有相关数据,但是这些数据不会发送到我的控制器中的$ scope.items。
我还通过更改我的服务来检查控制器端的一切情况如下:
angular.module('appName')
.service('GetDataService', function($http, WebServiceURL) {
this.getData = function(ServiceParameter) {
return [{
Day: "Monday",
Language: "English "
}]
};
});
这会填充$ scope.items,所以问题必须在这里:
$http.get(WebServiceURL + ServiceParameter)
.then(function(res){
return res.data;
});
我做错了什么?
答案 0 :(得分:4)
$ http服务本质上是异步的,因此您需要在回调中分配数据
GetDataService.getData('/getBroadcastSourceList/1').then(function(data) {
$scope.items=data;
})
此外,您的服务没有return
,请添加它。
this.getData = function(ServiceParameter) {
return $http.get(WebServiceURL + ServiceParameter)
答案 1 :(得分:0)
您没有在服务的getData方法上重新调整任何内容,尝试返回一个承诺
MapKit.framework