.factory('Locations', function ($http, $q, $stateParams) {
// Might use a resource here that returns a JSON array
var url = "https://portal.mobilequbes.com/api/kiosks?callback=JSON_CALLBACK";
var locA;
return {
all: function () {
return $http.jsonp(url)
.then(function (result) {
return result.data;
});
},
get: function (locId) {
return $http.jsonp(url)
.then(function (result) {
return //function looping through the list as search
})
}
};
})
我上面有这个工厂。 Locations.all()适用于此控制器
.controller('LocCtrl', function ($scope, $http, Locations, $stateParams) {
Locations.all().then(function (locations) {
$scope.locations = locations;
});
})
但这对GET功能不起作用
.controller('DetCtrl', function ($scope, $http, $stateParams, Locations) {
Locations.all().then(function (locations) {
$scope.locale = Locations.get($stateParams.locId);
})
});
为什么上面的控制器没有正确返回GET请求?我变得空了。我花了一段时间来确定它是导致问题的service.js。我已经测试过以确保stateparams不是问题,并且url使用状态参数args进入视图,它只是没有显示语言环境范围变量,我似乎无法找到原因。我认为这可能与Promise有关,如果有人有初学者指南承诺它会非常有帮助