Ionic App/AngularJS/Cordova-未定义工厂中的API响应
我试图为API天气预报响应创建一个工厂,但当我试图用数组中的项目填充列表时,它表示未定义 这是工厂Ionic App/AngularJS/Cordova-未定义工厂中的API响应,angularjs,ionic,Angularjs,Ionic,我试图为API天气预报响应创建一个工厂,但当我试图用数组中的项目填充列表时,它表示未定义 这是工厂 .factory('FullForecastService', function($q, $timeout, $http){ $http.get('http://api.wunderground.com/------------------------------------------------.json') .success(function(data) {
.factory('FullForecastService', function($q, $timeout, $http){
$http.get('http://api.wunderground.com/------------------------------------------------.json')
.success(function(data) {
forecastfuture = [];
console.log(data);
for(i=0; i<36; i++) {
var day = data.hourly_forecast[i].FCTTIME.pretty;
var maxtemp = data.hourly_forecast[i].temp.metric;
var mintemp = data.hourly_forecast[i].dewpoint.metric;
var feelslike = data.hourly_forecast[i].feelslike.metric;
var humidity = data.hourly_forecast[i].humidity;
var windspd = data.hourly_forecast[i].wspd.metric;
var winddir = data.hourly_forecast[i].wdir.dir;
var sky = data.hourly_forecast[i].condition;
var precip = data.hourly_forecast[i].qpf.metric;
var snow = data.hourly_forecast[i].snow.metric;
var icon = data.hourly_forecast[i].icon_url;
forecastfuture.push({
id: i,
day: day,
maxtemp: maxtemp,
mintemp: mintemp,
feelslike: feelslike,
humidity: humidity,
windspd: windspd,
winddir: winddir,
sky: sky,
precip: precip,
snow: snow,
icon: icon});
}
}
)
return {
all: function(){
var deferred = $q.defer();
$timeout(function(){
deferred.resolve(forecastfuture);
}, 1000);
return deferred.promise;
},
allSync : function(){
return forecastfuture;
},
get : function(singledayId){
for(var i= 0, l=forecastfuture.length; i < l; i++){
if(forecastfuture[i].id == singledayId){
return forecastfuture[i];
}
}
}
}})
此外,在单一预测控制器中,行中的单一ID不起作用:
.controller('SingleForecastCtrl', function($scope, $stateParams, FullForecastService){
$scope.singleforecast = FullForecastService.get($stateParams.singledayId);
})
模板:
名单
{{singleday.day}
单一预测
<ion-view view-title="Weather Forecast">
<ion-content class="background">
<h1>Forecast Day:</h1>
<ion-list>
<ion-item>
{{forecastfuture.day}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
预测日:
{{forecastfuture.day}
我得到的错误是:
请求时,数据不在那里,因此返回未定义的数据。首先使用状态的resolve属性获取数据。你有任何解决方案,我正在寻找相机绑定,但它给我相机的错误。。。
<ion-nav-view name="forecast"></ion-nav-view>
<ion-view view-title="36 Hr Weather Forecast">
<ion-content class="background">
<ion-list>
<ion-item ng-repeat="singleday in forecastfuture" href="#/app/forecast/{{singleday.id}}">
<img src={{singleday.icon}} />
{{singleday.day}}
</ion-item>
</ion-content>
</ion-view>
<ion-view view-title="Weather Forecast">
<ion-content class="background">
<h1>Forecast Day:</h1>
<ion-list>
<ion-item>
{{forecastfuture.day}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>